#1118 user configurable external links from node search and device details

* frontend example

* process config with template macro

* shared external links template for mac and IP search

* default into product config

* add support for device external links

* better presentation of IP links and change color to grey
This commit is contained in:
Oliver Gorwits
2023-11-11 22:05:02 +00:00
committed by GitHub
parent 7ba080c0dc
commit ac54635628
6 changed files with 51 additions and 2 deletions

View File

@@ -1,3 +1,4 @@
[% PROCESS 'externallinks.tt' -%]
[% SET user_can_port_control = user_has_role('port_control', d) %]
<table class="table table-condensed table-striped">
<tbody>
@@ -115,7 +116,7 @@
[% END %]
[% END %]
<tr>
<td>Administration</td>
<td>External Links</td>
<td>
<a href="ssh://[% d.ip | uri %]" target="_blank">
<span class="label label-info"><i class="icon-keyboard"></i> SSH</span></a>
@@ -123,6 +124,7 @@
<span class="label label-info"><i class="icon-keyboard"></i> Telnet</span></a>
<a href="https://[% d.ip | uri %]/" target="_blank">
<span class="label label-info"><i class="icon-external-link"></i> Web</span></a>
[% INCLUDE external_device_links item = d %]
</td>
</tr>
<tr>

View File

@@ -1,5 +1,6 @@
[% USE date(format = '%Y-%m-%d %H:%M') %]
[% USE Number.Format %]
[% PROCESS 'externallinks.tt' -%]
<table id="nsbi-data-table" class="table table-bordered table-hover" width="100%" cellspacing="0">
<thead>
<tr>
@@ -23,6 +24,7 @@
[% row.oui.company | html_entity %]</a> )
[% END %]
seen as:
[% INCLUDE external_mac_links item = row %]
</td>
<td>NetBIOS</td>
<td class="nd_linkcell nd_center-cell">\\<a href="[% uri_for('/report/netbios') | none %]?domain=[% row.domain | uri %]" title="Devices in this Domain">[% row.domain | html_entity %]</a>\<a href="[% search_node | none %]&q=[% row.nbname | uri %]">[% row.nbname | html_entity %]</a>
@@ -42,6 +44,7 @@
[% row.oui.company | html_entity %]</a> )
[% END %]
seen as:
[% INCLUDE external_mac_links item = row %]
</td>
<td>IP &rarr; MAC</td>
<td class="nd_center-cell">
@@ -64,6 +67,7 @@
[% nbt.oui.company | html_entity %]</a> )
[% END %]
seen as:
[% INCLUDE external_mac_links item = nbt %]
</td>
<td>NetBIOS</td>
<td class="nd_linkcell nd_center-cell">\\<a href="[% uri_for('/report/netbios') | none %]?domain=[% nbt.domain | uri %]" title="Devices in this Domain">[% nbt.domain | html_entity %]</a>\<a href="[% search_node | none %]&q=[% nbt.nbname | uri %]">[% nbt.nbname | html_entity %]</a>
@@ -84,6 +88,7 @@
[% ni.oui.company | html_entity %]</a> )
[% END %]
seen as:
[% INCLUDE external_mac_links item = ni %]
</td>
<td>IP &rarr; MAC</td>
<td class="nd_center-cell">
@@ -106,6 +111,7 @@
[% node.oui.company | html_entity %]</a> )
[% END %]
seen as:
[% INCLUDE external_mac_links item = node %]
</td>
<td>Node on Port</td>
<td class="nd_center-cell">
@@ -129,6 +135,7 @@
[% wlan.oui.company | html_entity %]</a> )
[% END %]
seen as:
[% INCLUDE external_mac_links item = wlan %]
</td>
<td>Wireless Info</td>
<td class="nd_center-cell">SSID: [% wlan.ssid | html_entity %]<br>
@@ -153,12 +160,14 @@
[% nodeip.oui.company | html_entity %]</a> )
[% END %]
seen as:
[% INCLUDE external_mac_links item = nodeip %]
</td>
<td>MAC &rarr; IP</td>
<td class="nd_center-cell">
<a href="[% search_node | none %]&q=[% nodeip.ip | uri %]">[% nodeip.ip | html_entity %]</a>
[% '&nbsp;<i class="icon-book text-warning"></i>&nbsp;' IF NOT nodeip.active %]
[% ' (' _ nodeip.dns.remove(settings.domain_suffix) _ ')' IF nodeip.dns %]
<br/>[% INCLUDE external_ip_links item = nodeip %]
</td>
[% IF params.stamps %]
<td>[% nodeip.time_first_stamp | html_entity %]</td>

View File

@@ -1,4 +1,5 @@
[% USE Number.Format %]
[% PROCESS 'externallinks.tt' -%]
<table id="nsbm-data-table" class="table table-bordered table-hover" width="100%" cellspacing="0">
<thead>
<tr>
@@ -22,11 +23,13 @@
[% row.oui.company | html_entity %]</a> )
[% END %]
seen as:
[% INCLUDE external_mac_links item = row %]
</td>
<td>MAC &rarr; IP</td>
<td class="nd_center-cell"><a href="[% search_node | none %]&q=[% row.ip | uri %]">[% row.ip | html_entity %]</a>
[% '&nbsp;<i class="icon-book text-warning"></i>&nbsp;' IF NOT row.active %]
[% ' (' _ row.dns.remove(settings.domain_suffix) _ ')' IF row.dns %]
<br/>[% INCLUDE external_ip_links item = row %]
</td>
[% IF params.stamps %]
<td>[% row.time_first_stamp | html_entity %]</td>
@@ -46,6 +49,7 @@
[% node.oui.company | html_entity %]</a> )
[% END %]
seen as:
[% INCLUDE external_mac_links item = node %]
</td>
<td>Node on Port</td>
<td class="nd_center-cell">
@@ -72,6 +76,7 @@
[% port.oui.company | html_entity %]</a> )
[% END %]
seen as:
[% INCLUDE external_mac_links item = port %]
</td>
<td>Device Port</td>
<td class="nd_center-cell">
@@ -94,6 +99,7 @@
[% nbt.oui.company | html_entity %]</a> )
[% END %]
seen as:
[% INCLUDE external_mac_links item = nbt %]
</td>
<td>NetBIOS</td>
<td class="nd_center-cell">\\<a href="[% uri_for('/report/netbios') | none %]?domain=[% nbt.domain | uri %]" title="Devices in this Domain">[% nbt.domain | html_entity %]</a>\<a href="[% search_node | none %]&q=[% nbt.nbname | uri %]">[% nbt.nbname | html_entity %]</a>
@@ -114,6 +120,7 @@
[% wlan.oui.company | html_entity %]</a> )
[% END %]
seen as:
[% INCLUDE external_mac_links item = wlan %]
</td>
<td>Wireless Info</td>
<td class="nd_center-cell">SSID: [% wlan.ssid | html_entity %]<br>