mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
* Change select order from id to name * added example icmp/snmp down rules given by @kkrumm1 * Renovated Alert Rules * Defaulted sort by name * Moved top buttons and results selector outside of table and aligned them with pull-left and pull-right * Collapsed '#' (ID) into 'Type' and added titles for the icons * Added Devices and Transports columns for each rule * Moved Extra column next to transports * Added icons for Enabled when a user does not have global admin * Changed row_# variable to rule_id_# * Some 'else' cleanup * Added various title tags for more information when hovering * Moved pagination outside of table and align it with pull-left and added a bootgrid style summary pulled-right * Added table & th tags for bootgrid (but didn't turn it on) * code climate, round 1 * code climate, round 2 * add hrefs for device & device group edit * added trailing slash for device-groups/../edit/ * prevent #name conflict with transport modal * add hrefs for transport & transport group edit * use popover consistently * code climate, round 3 * removed unused variables * code climate, round 4 * popover variables * reload after successful delete * more informative feedback * use toastr, not #message, & don't reload * added license header & fail faster if not admin * use (more informative) ajax error message * delete confirmation with alert name in the modal * print each device per line * add href for all devices * refresh status & enabled data-content when/if a rule is turned on/off * use DRY style per @SourceDoctor (& my) preference); codeclimate meh * point devices popover to the right
78 lines
3.0 KiB
PHP
78 lines
3.0 KiB
PHP
<?php
|
|
/*
|
|
* LibreNMS
|
|
*
|
|
* Copyright (c) 2014 Neil Lathwood <https://github.com/laf/ http://www.lathwood.co.uk/fa>
|
|
*
|
|
* This program is free software: you can redistribute it and/or modify it
|
|
* under the terms of the GNU General Public License as published by the
|
|
* Free Software Foundation, either version 3 of the License, or (at your
|
|
* option) any later version. Please see LICENSE.txt at the top level of
|
|
* the source code distribution for details.
|
|
*/
|
|
|
|
if (!Auth::user()->hasGlobalAdmin()) {
|
|
die('ERROR: You need to be admin');
|
|
}
|
|
|
|
?>
|
|
|
|
<div class="modal fade" id="confirm-delete" tabindex="-1" role="dialog" aria-labelledby="Delete" aria-hidden="true">
|
|
<div class="modal-dialog modal-sm">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
|
<h5 class="modal-title" id="Delete">Confirm Delete</h5>
|
|
</div>
|
|
<div class="modal-body">
|
|
<p>If you would like to remove the alert rule then please click Delete.</p>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<form role="form" class="remove_token_form">
|
|
<?php echo csrf_field() ?>
|
|
<button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
|
|
<button type="submit" class="btn btn-danger danger" id="alert-rule-removal" data-target="alert-rule-removal">Delete</button>
|
|
<input type="hidden" name="alert_id" id="alert_id" value="">
|
|
<input type="hidden" name="alert_name" id="alert_name" value="">
|
|
<input type="hidden" name="confirm" id="confirm" value="yes">
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<script>
|
|
$('#confirm-delete').on('show.bs.modal', function(event) {
|
|
alert_id = $(event.relatedTarget).data('alert_id');
|
|
alert_name = $(event.relatedTarget).data('alert_name');
|
|
$("#alert_id").val(alert_id);
|
|
$("#alert_name").val(alert_name);
|
|
$( "p" ).first().text( 'If you would like to remove the alert rule named \''+alert_name+'\' then please click Delete.' );
|
|
});
|
|
|
|
$('#alert-rule-removal').click('', function(event) {
|
|
event.preventDefault();
|
|
var alert_id = $("#alert_id").val();
|
|
var alert_name = $("#alert_name").val();
|
|
$.ajax({
|
|
type: 'POST',
|
|
url: 'ajax_form.php',
|
|
data: { type: "delete-alert-rule", alert_id: alert_id },
|
|
dataType: "html",
|
|
success: function(msg) {
|
|
if(msg.indexOf("ERROR:") <= -1) {
|
|
$("#rule_id_"+alert_id).remove();
|
|
toastr.success(msg);
|
|
} else {
|
|
toastr.error(msg);
|
|
}
|
|
$("#confirm-delete").modal('hide');
|
|
},
|
|
error: function() {
|
|
toastr.error('ERROR: ajax post failed; unable to delete alert rule');
|
|
$("#confirm-delete").modal('hide');
|
|
}
|
|
});
|
|
});
|
|
</script>
|