implement smart search tab selection, and Node search
This commit is contained in:
57
Netdisco/views/content/node.tt
Normal file
57
Netdisco/views/content/node.tt
Normal file
@@ -0,0 +1,57 @@
|
||||
<table class="bordered-table condensed-table zebra-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>MAC</th>
|
||||
<th>Match</th>
|
||||
<th>Device or Node</th>
|
||||
[% IF params.stamps %]
|
||||
<th>First Seen</th>
|
||||
<th>Last Seen</th>
|
||||
[% END %]
|
||||
</tr>
|
||||
</thead>
|
||||
</tbody>
|
||||
[% WHILE (row = results.next) %]
|
||||
<tr>
|
||||
<td><a class="nd_linkcell" href="/search?tab=node&stamps=on&vendor=on&q=[% row.mac | uri %]">[% row.mac %]</a></td>
|
||||
<td>IP → MAC</td>
|
||||
<td><a href="/search?tab=node&stamps=on&vendor=on&q=[% row.ip | uri %]">[% row.ip %]</a>
|
||||
[% ' (' _ row.dns _ ')' IF row.dns %]
|
||||
[% ' <span class="label warning">a</span>' IF NOT row.active %]
|
||||
</td>
|
||||
[% IF params.stamps %]
|
||||
<td>[% row.time_first %]</td>
|
||||
<td>[% row.time_last %]</td>
|
||||
[% END %]
|
||||
</tr>
|
||||
[% FOREACH node IN row.tidy_nodes(params.archived) %]
|
||||
<tr>
|
||||
<td> </td>
|
||||
<td>Switch Port</td>
|
||||
<td><a href="/device?q=[% node.switch | url %]&port=[% node.port | url %]">[% node.switch %] [ [% node.port %] ]</a>
|
||||
[% ' (' _ node.device.dns _ ')' IF node.device.dns %]
|
||||
[% ' <span class="label warning">a</span>' IF NOT node.active %]
|
||||
</td>
|
||||
[% IF params.stamps %]
|
||||
<td>[% node.time_first %]</td>
|
||||
<td>[% node.time_last %]</td>
|
||||
[% END %]
|
||||
</tr>
|
||||
[% END %]
|
||||
[% FOREACH nodeip IN row.tidy_nodeips(params.archived) %]
|
||||
<tr>
|
||||
<td> </td>
|
||||
<td>MAC → IP</td>
|
||||
<td><a href="/search?tab=node&stamps=on&vendor=on&q=[% nodeip.ip | uri %]">[% nodeip.ip %]</a>
|
||||
[% ' (' _ nodeip.dns _ ')' IF nodeip.dns %]
|
||||
[% ' <span class="label warning">a</span>' IF NOT nodeip.active %]
|
||||
</td>
|
||||
[% IF params.stamps %]
|
||||
<td>[% nodeip.time_first %]</td>
|
||||
<td>[% nodeip.time_last %]</td>
|
||||
[% END %]
|
||||
</tr>
|
||||
[% END %]
|
||||
[% END %]
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -14,7 +14,7 @@
|
||||
[% FOREACH method IN col.key.split('\.') %]
|
||||
[% SET val = val.$method %]
|
||||
[% END %]
|
||||
<td><a class="nd_linkcell" href="[% hyperlink(row) %]">[% val %]</a></td>
|
||||
<td><a class="nd_linkcell nd_stealthlink" href="[% hyperlink(row) %]">[% val %]</a></td>
|
||||
[% END %]
|
||||
</tr>
|
||||
[% END %]
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
|
||||
<p><em>Node Search Options</em></p>
|
||||
<input name="tab" value="node" type="hidden"/>
|
||||
<div class="clearfix input-prepend">
|
||||
<label class="add-on">
|
||||
<input type="checkbox" id="stamps" name="stamps"[% ' checked="checked"' IF params.stamps %]/>
|
||||
@@ -22,6 +21,6 @@
|
||||
<input type="checkbox" id="archived" name="archived"[% ' checked="checked"' IF params.archived %]/>
|
||||
</label>
|
||||
<label for="archived">
|
||||
<span class="nd_searchcheckbox uneditable-input">Archived Data</span>
|
||||
<span class="nd_searchcheckbox uneditable-input">Archived Data <span class="nd_legendlabel label warning">a</span></span>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="nd_content content">
|
||||
<ul id="search_results" class="tabs" data-tabs="on">
|
||||
[% FOREACH tab IN vars.tabs %]
|
||||
<li[% ' class="active"' IF params.tab == tab.id %]><a href="#[% tab.id %]_pane">[% tab.label %]</a></li>
|
||||
|
||||
Reference in New Issue
Block a user