diff --git a/ui/scripts/events.js b/ui/scripts/events.js index f432bc42463..fdc496e2c45 100644 --- a/ui/scripts/events.js +++ b/ui/scripts/events.js @@ -453,6 +453,7 @@ listView: { id: 'alerts', label: 'label.menu.alerts', + multiSelect: true, fields: { description: { label: 'label.description' @@ -468,6 +469,40 @@ actions: { // Remove multiple Alerts + removeMulti: { + label: 'label.delete.alerts', + isHeader: true, + addRow: false, + isMultiSelectAction: true, + messages: { + confirm: function(args) { + return 'Please confirm you would like to remove the selected alerts'; + }, + notification: function(args) { + return 'label.delete.alerts'; + } + }, + action: function(args) { + var events = args.context.alerts; + + $.ajax({ + url: createURL("deleteAlerts"), + data: { + ids: $(events).map(function(index, event) { + return event.id; + }).toArray().join(',') + }, + success: function(data) { + args.response.success(); + $(window).trigger('cloudStack.fullRefresh'); + }, + error:function(data) { + args.response.error(parseXMLHttpResponse(data)); + } + }); + } + }, + remove: { label: 'label.delete.alerts', isHeader: true, @@ -533,6 +568,40 @@ }, // Archive multiple Alerts + archiveMulti: { + label: 'label.archive.alerts', + isHeader: true, + addRow: false, + isMultiSelectAction: true, + messages: { + confirm: function(args) { + return 'Please confirm you would like to archive the selected alerts'; + }, + notification: function(args) { + return 'label.archive.alerts'; + } + }, + action: function(args) { + var events = args.context.alerts; + + $.ajax({ + url: createURL("archiveAlerts"), + data: { + ids: $(events).map(function(index, event) { + return event.id; + }).toArray().join(',') + }, + success: function(data) { + args.response.success(); + $(window).trigger('cloudStack.fullRefresh'); + }, + error:function(data) { + args.response.error(parseXMLHttpResponse(data)); + } + }); + } + }, + archive: { label: 'label.archive.alerts', isHeader: true,