rename devgrp to hgroup in netmap

This commit is contained in:
Oliver Gorwits
2018-03-10 14:05:12 +00:00
parent fe14a30261
commit ffc3f21533
5 changed files with 32 additions and 24 deletions

View File

@@ -41,7 +41,7 @@ hook 'before_template' => sub {
} }
# used in the device search sidebar template to set selected items # used in the device search sidebar template to set selected items
foreach my $opt (qw/devgrp/) { foreach my $opt (qw/hgroup location/) {
my $p = (ref [] eq ref param($opt) ? param($opt) my $p = (ref [] eq ref param($opt) ? param($opt)
: (param($opt) ? [param($opt)] : [])); : (param($opt) ? [param($opt)] : []));
$tokens->{"${opt}_lkp"} = { map { $_ => 1 } @$p }; $tokens->{"${opt}_lkp"} = { map { $_ => 1 } @$p };
@@ -82,7 +82,7 @@ get '/device' => require_login sub {
params->{'tab'} ||= 'details'; params->{'tab'} ||= 'details';
template 'device', { template 'device', {
display_name => ($others ? $first->ip : ($first->dns || $first->ip)), display_name => ($others ? $first->ip : ($first->dns || $first->ip)),
devgrp_list => setting('host_group_displaynames'), hgroup_list => setting('host_group_displaynames'),
device => params->{'tab'}, device => params->{'tab'},
}; };
}; };

View File

@@ -27,16 +27,16 @@ ajax '/ajax/data/device/netmappositions' => require_login sub {
undef $vlan if (defined $vlan and $vlan !~ m/^\d+$/); undef $vlan if (defined $vlan and $vlan !~ m/^\d+$/);
my $mapshow = param('mapshow'); my $mapshow = param('mapshow');
return if !defined $mapshow or $mapshow !~ m/^(?:all|only)$/; return if !defined $mapshow or $mapshow !~ m/^(?:all|hgroup)$/;
# list of groups selected by user and passed in param # list of groups selected by user and passed in param
my $devgrp = (ref [] eq ref param('devgrp') ? param('devgrp') : [param('devgrp')]); my $hgroup = (ref [] eq ref param('hgroup') ? param('hgroup') : [param('hgroup')]);
# list of groups validated as real host groups and named host groups # list of groups validated as real host groups and named host groups
my @hgrplist = List::MoreUtils::uniq my @hgrplist = List::MoreUtils::uniq
grep { exists setting('host_group_displaynames')->{$_} } grep { exists setting('host_group_displaynames')->{$_} }
grep { exists setting('host_groups')->{$_} } grep { exists setting('host_groups')->{$_} }
grep { defined } @{ $devgrp }; grep { defined } @{ $hgroup };
return if $mapshow eq 'only' and 0 == scalar @hgrplist; return if $mapshow eq 'hgroup' and 0 == scalar @hgrplist;
push(@hgrplist, '__ANY__') if 0 == scalar @hgrplist; push(@hgrplist, '__ANY__') if 0 == scalar @hgrplist;
my %clean = (); my %clean = ();
@@ -110,16 +110,20 @@ ajax '/ajax/data/device/netmap' => require_login sub {
undef $vlan if (defined $vlan and $vlan !~ m/^\d+$/); undef $vlan if (defined $vlan and $vlan !~ m/^\d+$/);
my $mapshow = (param('mapshow') || 'neighbors'); my $mapshow = (param('mapshow') || 'neighbors');
$mapshow = 'neighbors' if $mapshow !~ m/^(?:all|neighbors|only)$/; $mapshow = 'neighbors' if $mapshow !~ m/^(?:all|neighbors|location|hgroup)$/;
$mapshow = 'all' unless $qdev->in_storage; $mapshow = 'all' unless $qdev->in_storage;
# list of groups selected by user and passed in param # list of groups selected by user and passed in param
my $devgrp = (ref [] eq ref param('devgrp') ? param('devgrp') : [param('devgrp')]); my $hgroup = (ref [] eq ref param('hgroup') ? param('hgroup') : [param('hgroup')]);
# list of groups validated as real host groups and named host groups # list of groups validated as real host groups and named host groups
my @hgrplist = List::MoreUtils::uniq my @hgrplist = List::MoreUtils::uniq
grep { exists setting('host_group_displaynames')->{$_} } grep { exists setting('host_group_displaynames')->{$_} }
grep { exists setting('host_groups')->{$_} } grep { exists setting('host_groups')->{$_} }
grep { defined } @{ $devgrp }; grep { defined } @{ $hgroup };
# list of locations selected by user and passed in param
my $locgrp = (ref [] eq ref param('locgrp') ? param('locgrp') : [param('locgrp')]);
my @lgrplist = List::MoreUtils::uniq grep { defined } @{ $locgrp };
my %ok_dev = (); my %ok_dev = ();
my %logvals = (); my %logvals = ();
@@ -177,10 +181,14 @@ ajax '/ajax/data/device/netmap' => require_login sub {
next DEVICE if (($mapshow eq 'neighbors') or $vlan) next DEVICE if (($mapshow eq 'neighbors') or $vlan)
and (not $ok_dev{$device->ip}); and (not $ok_dev{$device->ip});
# if in only mode then use ACLs to filter # if in locations mode then filter
next DEVICE if $mapshow eq 'location' and ((!defined $device->location)
or (0 == scalar grep {$_ eq $device->location} @lgrplist));
# if in host group mode then use ACLs to filter
my $first_hgrp = my $first_hgrp =
first { check_acl_only($device, setting('host_groups')->{$_}) } @hgrplist; first { check_acl_only($device, setting('host_groups')->{$_}) } @hgrplist;
next DEVICE if $mapshow eq 'only' and not $first_hgrp; next DEVICE if $mapshow eq 'hgroup' and not $first_hgrp;
++$logvals{ $device->get_column('log') || 1 }; ++$logvals{ $device->get_column('log') || 1 };
(my $name = lc($device->dns || $device->name || $device->ip)) =~ s/$domain$//; (my $name = lc($device->dns || $device->name || $device->ip)) =~ s/$domain$//;

View File

@@ -161,7 +161,7 @@ $.getJSON('[% uri_for('/ajax/data/device/netmap') %]?[% my_query %]', function(m
if (mapdata['newnodes'] && ('[% params.mapshow %]' != 'neighbors')) { if (mapdata['newnodes'] && ('[% params.mapshow %]' != 'neighbors')) {
$.post( $.post(
'[% uri_for('/ajax/data/device/netmappositions') %]' '[% uri_for('/ajax/data/device/netmappositions') %]'
,$("#nd_vlan-entry, #nd_devgrp-select, input[name='mapshow']").serialize() ,$("#nd_vlan-entry, #nd_hgroup-select, input[name='mapshow']").serialize()
+ '&positions=' + JSON.stringify(graph.positions()) + '&positions=' + JSON.stringify(graph.positions())
); );
} }

View File

@@ -152,7 +152,7 @@
// if user enters vlan but does not submit this will save wrong data // if user enters vlan but does not submit this will save wrong data
$.post( $.post(
'[% uri_for('/ajax/data/device/netmappositions') %]' '[% uri_for('/ajax/data/device/netmappositions') %]'
,$("#nd_vlan-entry, #nd_devgrp-select, input[name='mapshow']").serialize() ,$("#nd_vlan-entry, #nd_hgroup-select, input[name='mapshow']").serialize()
+ '&positions=' + JSON.stringify(graph.positions()) + '&positions=' + JSON.stringify(graph.positions())
); );
}); });

View File

@@ -63,25 +63,25 @@
<label for="nd_mapshow-neighbors">Neighbors Only</label> <label for="nd_mapshow-neighbors">Neighbors Only</label>
</div> </div>
[% IF devgrp_list.size %] [% IF hgroup_list.size %]
<div class="radio radio-success"> <div class="radio radio-success">
[% ELSE %] [% ELSE %]
<div class="radio radio-success tooltip-wrapper" <div class="radio radio-success tooltip-wrapper"
rel="tooltip" data-placement="left" data-offset="5" data-title="No Named Groups Defined"> rel="tooltip" data-placement="left" data-offset="5" data-title="No Named Groups Defined">
[% END %] [% END %]
<input type="radio" name="mapshow" id="nd_mapshow-only" <input type="radio" name="mapshow" id="nd_mapshow-hgroup"
[% 'checked' IF vars.sidebar_defaults.device_netmap.mapshow == 'only' %] [% 'checked' IF vars.sidebar_defaults.device_netmap.mapshow == 'hgroup' %]
[% 'disabled' IF NOT devgrp_list.size %] value="only"> [% 'disabled' IF NOT hgroup_list.size %] value="hgroup">
<label for="nd_mapshow-only">Host Groups</label> <label for="nd_mapshow-hgroup">Host Groups</label>
</div> </div>
[% IF devgrp_list.size %] [% IF hgroup_list.size %]
<div class="clearfix"> <div class="clearfix">
<select class="nd_side-select" size="[% devgrp_list.size > 5 ? 5 : devgrp_list.size %]" <select class="nd_side-select" size="[% hgroup_list.size > 5 ? 5 : hgroup_list.size %]"
multiple="on" name="devgrp" id="nd_devgrp-select" multiple="on" name="hgroup" id="nd_hgroup-select"
rel="tooltip" data-placement="left" data-offset="5" data-title="Host Groups"/> rel="tooltip" data-placement="left" data-offset="5" data-title="Host Groups"/>
[% FOREACH opt IN devgrp_list.pairs %] [% FOREACH opt IN hgroup_list.pairs %]
<option[% ' selected="selected"' IF devgrp_lkp.exists(opt.key) %] <option[% ' selected="selected"' IF hgroup_lkp.exists(opt.key) %]
value="[% opt.key %]">[% opt.value | html_entity %]</option> value="[% opt.key %]">[% opt.value | html_entity %]</option>
[% END %] [% END %]
</select> </select>
@@ -99,7 +99,7 @@
</div> </div>
</div> </div>
[% IF devgrp_list.size %] [% IF hgroup_list.size %]
<div class="clearfix input-prepend"> <div class="clearfix input-prepend">
<label class="add-on"> <label class="add-on">
<input type="checkbox" id="colorgroups" name="colorgroups" <input type="checkbox" id="colorgroups" name="colorgroups"