mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
Updated LLDP neighbors view to use NAPALM API
This commit is contained in:
@ -3,6 +3,7 @@
|
|||||||
{% block title %}{{ device }} - LLDP Neighbors{% endblock %}
|
{% block title %}{{ device }} - LLDP Neighbors{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
|
{% include 'inc/ajax_loader.html' %}
|
||||||
{% include 'dcim/inc/device_header.html' with active_tab='lldp-neighbors' %}
|
{% include 'dcim/inc/device_header.html' with active_tab='lldp-neighbors' %}
|
||||||
<div class="panel panel-default">
|
<div class="panel panel-default">
|
||||||
<div class="panel-heading">
|
<div class="panel-heading">
|
||||||
@ -20,7 +21,7 @@
|
|||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
{% for iface in interfaces %}
|
{% for iface in interfaces %}
|
||||||
<tr id="{{ iface }}">
|
<tr id="{{ iface.name }}">
|
||||||
<td>{{ iface }}</td>
|
<td>{{ iface }}</td>
|
||||||
{% if iface.connection %}
|
{% if iface.connection %}
|
||||||
{% with iface.connected_interface as connected_iface %}
|
{% with iface.connected_interface as connected_iface %}
|
||||||
@ -47,20 +48,21 @@
|
|||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: "{% url 'dcim-api:device-lldp-neighbors' pk=device.pk %}",
|
url: "{% url 'dcim-api:device-napalm' pk=device.pk %}?method=get_lldp_neighbors",
|
||||||
dataType: 'json',
|
dataType: 'json',
|
||||||
success: function(json) {
|
success: function(json) {
|
||||||
$.each(json, function(i, neighbor) {
|
$.each(json['get_lldp_neighbors'], function(iface, neighbors) {
|
||||||
var row = $('#' + neighbor['local-interface'].replace(/(\/)/g, "\\$1"));
|
var neighbor = neighbors[0];
|
||||||
|
var row = $('#' + iface.replace(/(\/)/g, "\\$1"));
|
||||||
var configured_device = row.children('td.configured_device').attr('data');
|
var configured_device = row.children('td.configured_device').attr('data');
|
||||||
var configured_interface = row.children('td.configured_interface').attr('data');
|
var configured_interface = row.children('td.configured_interface').attr('data');
|
||||||
// Add LLDP neighbors to table
|
// Add LLDP neighbors to table
|
||||||
row.children('td.device').html(neighbor['name']);
|
row.children('td.device').html(neighbor['hostname']);
|
||||||
row.children('td.interface').html(neighbor['remote-interface']);
|
row.children('td.interface').html(neighbor['port']);
|
||||||
// Apply colors to rows
|
// Apply colors to rows
|
||||||
if (!configured_device && neighbor['name']) {
|
if (!configured_device && neighbor['hostname']) {
|
||||||
row.addClass('info');
|
row.addClass('info');
|
||||||
} else if (configured_device == neighbor['name'] && configured_interface == neighbor['remote-interface']) {
|
} else if (configured_device == neighbor['hostname'] && configured_interface == neighbor['port']) {
|
||||||
row.addClass('success');
|
row.addClass('success');
|
||||||
} else {
|
} else {
|
||||||
row.addClass('danger');
|
row.addClass('danger');
|
||||||
|
Reference in New Issue
Block a user