Ask for Reason when changing Port up/down Status, or VLAN
This commit is contained in:
@@ -6,6 +6,7 @@
|
|||||||
* Add device/node/vlan/port specific search from Navbar
|
* Add device/node/vlan/port specific search from Navbar
|
||||||
* [#3] [#47] Device Neighbor Map can have max depth and VLAN filter
|
* [#3] [#47] Device Neighbor Map can have max depth and VLAN filter
|
||||||
* [#31] get_community now supported
|
* [#31] get_community now supported
|
||||||
|
* [#19] Ask for Reason when changing Port up/down Status, or VLAN
|
||||||
|
|
||||||
[ENHANCEMENTS]
|
[ENHANCEMENTS]
|
||||||
|
|
||||||
|
|||||||
@@ -662,6 +662,26 @@ Set to false to disable the periodic AJAX check for completed entries in the
|
|||||||
job queue for this user. Mainly useful for development to suppress noisy web
|
job queue for this user. Mainly useful for development to suppress noisy web
|
||||||
frontend activity.
|
frontend activity.
|
||||||
|
|
||||||
|
=head3 C<port_control_reasons>
|
||||||
|
|
||||||
|
Value: Hash of Strings. Default:
|
||||||
|
|
||||||
|
port_control_reasons:
|
||||||
|
address: 'Address Allocation Abuse'
|
||||||
|
copyright: 'Copyright Violation'
|
||||||
|
dos: 'Denial of Service'
|
||||||
|
bandwidth: 'Excessive Bandwidth'
|
||||||
|
polling: 'Excessive Polling of DNS/DHCP/SNMP'
|
||||||
|
noserv: 'Not In Service'
|
||||||
|
exploit: 'Remote Exploit Possible'
|
||||||
|
compromised: 'System Compromised'
|
||||||
|
other: 'Other'
|
||||||
|
resolved: 'Issue Resolved'
|
||||||
|
|
||||||
|
When a user has Port Control rights and shuts down a port, they are asked for
|
||||||
|
a reason. This configuration lists those reasons, and can be overridden to add
|
||||||
|
or remove any entries.
|
||||||
|
|
||||||
=head2 Backend Daemon
|
=head2 Backend Daemon
|
||||||
|
|
||||||
=head3 C<workers>
|
=head3 C<workers>
|
||||||
|
|||||||
@@ -37,9 +37,9 @@ ajax '/ajax/portcontrol' => require_role port_control => sub {
|
|||||||
ip => param('device'),
|
ip => param('device'),
|
||||||
port => param('port'),
|
port => param('port'),
|
||||||
action => $a,
|
action => $a,
|
||||||
reason => 'other',
|
|
||||||
username => session('logged_in_user'),
|
username => session('logged_in_user'),
|
||||||
userip => request->remote_address,
|
userip => request->remote_address,
|
||||||
|
reason => (param('reason') || 'other'),
|
||||||
log => param('log'),
|
log => param('log'),
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -75,6 +75,8 @@ extra_web_plugins: []
|
|||||||
# mibdirs defaults to contents of mibhome
|
# mibdirs defaults to contents of mibhome
|
||||||
community: ['public']
|
community: ['public']
|
||||||
community_rw: ['private']
|
community_rw: ['private']
|
||||||
|
snmp_auth: []
|
||||||
|
get_community: ''
|
||||||
bulkwalk_off: false
|
bulkwalk_off: false
|
||||||
bulkwalk_no: []
|
bulkwalk_no: []
|
||||||
bulkwalk_repeaters: 20
|
bulkwalk_repeaters: 20
|
||||||
@@ -122,6 +124,17 @@ portctl_nophones: false
|
|||||||
portctl_vlans: false
|
portctl_vlans: false
|
||||||
portctl_uplinks: false
|
portctl_uplinks: false
|
||||||
check_userlog: true
|
check_userlog: true
|
||||||
|
port_control_reasons:
|
||||||
|
address: 'Address Allocation Abuse'
|
||||||
|
copyright: 'Copyright Violation'
|
||||||
|
dos: 'Denial of Service'
|
||||||
|
bandwidth: 'Excessive Bandwidth'
|
||||||
|
polling: 'Excessive Polling of DNS/DHCP/SNMP'
|
||||||
|
noserv: 'Not In Service'
|
||||||
|
exploit: 'Remote Exploit Possible'
|
||||||
|
compromised: 'System Compromised'
|
||||||
|
other: 'Other'
|
||||||
|
resolved: 'Issue Resolved'
|
||||||
|
|
||||||
# --------------
|
# --------------
|
||||||
# BACKEND DAEMON
|
# BACKEND DAEMON
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ var nd_save_ok = false;
|
|||||||
// user clicked or asked for port changes to be submitted via ajax
|
// user clicked or asked for port changes to be submitted via ajax
|
||||||
function port_control (e) {
|
function port_control (e) {
|
||||||
var td = $(e).closest('td'),
|
var td = $(e).closest('td'),
|
||||||
|
reason = $('#nd_portlog-reason').val(),
|
||||||
logmessage = $('#nd_portlog-log').val();
|
logmessage = $('#nd_portlog-log').val();
|
||||||
$('#nd_portlog-log').val('');
|
$('#nd_portlog-log').val('');
|
||||||
|
|
||||||
@@ -23,7 +24,8 @@ function port_control (e) {
|
|||||||
,field: td.data('field')
|
,field: td.data('field')
|
||||||
,action: td.data('action')
|
,action: td.data('action')
|
||||||
,value: td.text().trim()
|
,value: td.text().trim()
|
||||||
,log: logmessage,
|
,reason: reason
|
||||||
|
,log: logmessage
|
||||||
}
|
}
|
||||||
,success: function() {
|
,success: function() {
|
||||||
toastr.info('Submitted change request');
|
toastr.info('Submitted change request');
|
||||||
@@ -119,6 +121,12 @@ $(document).ready(function() {
|
|||||||
$('#nd_portlog').one('hidden', function() {
|
$('#nd_portlog').one('hidden', function() {
|
||||||
port_control(clicked); // save
|
port_control(clicked); // save
|
||||||
});
|
});
|
||||||
|
if ($(this).hasClass('icon-hand-up')) {
|
||||||
|
$('#nd_portlog-reason').val('resolved');
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$('#nd_portlog-reason').val('other');
|
||||||
|
}
|
||||||
$('#nd_portlog').modal('show');
|
$('#nd_portlog').modal('show');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -279,6 +279,15 @@
|
|||||||
<div id="nd_portlog" class="nd_modal nd_deep-horizon modal hide fade" tabindex="-1"
|
<div id="nd_portlog" class="nd_modal nd_deep-horizon modal hide fade" tabindex="-1"
|
||||||
role="dialog" aria-hidden="true">
|
role="dialog" aria-hidden="true">
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
|
<blockquote>
|
||||||
|
<ul><li><p>Please provide a reason for chainging the Port Configuration</p></li></ul>
|
||||||
|
</blockquote>
|
||||||
|
<select id="nd_portlog-reason" class="input-block-level" name="reason">
|
||||||
|
[% FOREACH pair IN settings.port_control_reasons.pairs %]
|
||||||
|
<option[% ' selected="selected"' IF pair.key == 'other' %] value="[% pair.key | html_entity %]">
|
||||||
|
[% pair.value | html_entity %]</option>
|
||||||
|
[% END %]
|
||||||
|
</select>
|
||||||
<textarea id="nd_portlog-log" class="input-block-level" rows="2" name="log"
|
<textarea id="nd_portlog-log" class="input-block-level" rows="2" name="log"
|
||||||
placeholder="Enter a log message"></textarea>
|
placeholder="Enter a log message"></textarea>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user