diff --git a/src/opnsense/mvc/app/controllers/OPNsense/IDS/forms/dialogAlert.xml b/src/opnsense/mvc/app/controllers/OPNsense/IDS/forms/dialogAlert.xml
index c1af8b823..fc9d5c098 100644
--- a/src/opnsense/mvc/app/controllers/OPNsense/IDS/forms/dialogAlert.xml
+++ b/src/opnsense/mvc/app/controllers/OPNsense/IDS/forms/dialogAlert.xml
@@ -11,7 +11,7 @@
alert_sid
-
+
info
diff --git a/src/opnsense/mvc/app/views/OPNsense/IDS/index.volt b/src/opnsense/mvc/app/views/OPNsense/IDS/index.volt
index f6e455db9..c4c1814da 100644
--- a/src/opnsense/mvc/app/views/OPNsense/IDS/index.volt
+++ b/src/opnsense/mvc/app/views/OPNsense/IDS/index.volt
@@ -413,6 +413,41 @@ POSSIBILITY OF SUCH DAMAGE.
}
});
+ /**
+ * Change sid to action selector after DialogAlert show
+ */
+ $( "#DialogAlert" ).on('shown.bs.modal', function (e) {
+ // replace "sid" for sid + action
+ $("#alert_sid").show();
+ $("#alert_sid_action").remove();
+ var sid = $("#alert_sid").html();
+ ajaxGet(url="/api/ids/settings/getRuleInfo/"+sid,sendData={}, callback=function(data, status) {
+ if (status == "success") {
+ $("#alert_sid").hide();
+ var alert_select = $('');
+ $.each(data['action'], function(key, value){
+ var opt = $('').attr("value", key).text(value.value)
+ if (value.selected == 1) {
+ opt.attr('selected', 'selected');
+ }
+ alert_select.append(opt);
+ });
+ $("#alert_sid").parent().append($(''));
+ $("#alert_sid_action").append($('')
+ .append($('
')
+ .append($(' | ').html(sid))
+ .append($(' | ').append(alert_select))
+ ));
+ alert_select.change(function(){
+ ajaxCall(url="/api/ids/settings/setRule/"+sid, sendData={action:$(this).val()}, callback=function(data,status) {
+ $("#alert_sid_action > small").remove();
+ $("#alert_sid_action").append($('').html("{{ lang._('Changes will be active after apply (rules tab)') }}"));
+ });
+ });
+ }
+ });
+ });
+
/**
* Initialize
*/