diff --git a/Netdisco/lib/Netdisco/Web.pm b/Netdisco/lib/Netdisco/Web.pm index 5069ff94..2b0ce191 100644 --- a/Netdisco/lib/Netdisco/Web.pm +++ b/Netdisco/lib/Netdisco/Web.pm @@ -22,6 +22,27 @@ ajax '/ajax/content/search/:thing' => sub { return '
Hello '. param('thing') .'.
'; }; +# devices carrying vlan xxx +ajax '/ajax/content/search/vlan' => sub { + my $q = param('q'); + return unless $q and $q =~ m/^\d+$/; + + my $set = schema('netdisco')->resultset('Device')->carrying_vlan($q); + return unless $set->count; + + content_type('text/html'); + template 'content/vlan.tt', { + results => $set, + columns => [ + { key => 'dns', label => 'Device' }, + { key => [qw/vlan description/], label => 'Description' }, + { key => 'model', label => 'Model' }, + { key => 'os', label => 'OS' }, + { key => 'vendor', label => 'Vendor' }, + ], + }, { layout => undef }; +}; + get '/search' => sub { my $q = param('q'); if ($q and not param('tab')) { diff --git a/Netdisco/views/content/vlan.tt b/Netdisco/views/content/vlan.tt new file mode 100644 index 00000000..0d3bca92 --- /dev/null +++ b/Netdisco/views/content/vlan.tt @@ -0,0 +1,22 @@ +| [% col.label %] | + [% END %] +
|---|
| [% val %] | + [% END %] +