Fix circuit error (#87)
* fix 'Interface' object has no attribute 'circuit'
This commit is contained in:
@@ -4,7 +4,7 @@ class TopologyViewsConfig(PluginConfig):
|
|||||||
name = 'netbox_topology_views'
|
name = 'netbox_topology_views'
|
||||||
verbose_name = 'Topology views'
|
verbose_name = 'Topology views'
|
||||||
description = 'An plugin to render topology maps'
|
description = 'An plugin to render topology maps'
|
||||||
version = '1.0.0'
|
version = '1.0.1'
|
||||||
author = 'Mattijs Vanhaverbeke'
|
author = 'Mattijs Vanhaverbeke'
|
||||||
author_email = 'author@example.com'
|
author_email = 'author@example.com'
|
||||||
base_url = 'netbox_topology_views'
|
base_url = 'netbox_topology_views'
|
||||||
@@ -15,7 +15,7 @@ class TopologyViewsConfig(PluginConfig):
|
|||||||
'device_img': ['access-switch', 'core-switch', 'firewall', 'router', 'distribution-switch', 'backup', 'storage,wan-network', 'wireless-ap', 'server', 'internal-switch', 'isp-cpe-material', 'non-racked-devices', 'power-units'],
|
'device_img': ['access-switch', 'core-switch', 'firewall', 'router', 'distribution-switch', 'backup', 'storage,wan-network', 'wireless-ap', 'server', 'internal-switch', 'isp-cpe-material', 'non-racked-devices', 'power-units'],
|
||||||
'allow_coordinates_saving': False,
|
'allow_coordinates_saving': False,
|
||||||
'preselected_tags' : [],
|
'preselected_tags' : [],
|
||||||
'enable_circuit_terminations': True,
|
'enable_circuit_terminations': False,
|
||||||
'draw_default_layout': False
|
'draw_default_layout': False
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -66,52 +66,53 @@ def get_topology_data(queryset, hide_unconnected):
|
|||||||
device_has_connections = True
|
device_has_connections = True
|
||||||
else:
|
else:
|
||||||
if settings.PLUGINS_CONFIG["netbox_topology_views"]["enable_circuit_terminations"]:
|
if settings.PLUGINS_CONFIG["netbox_topology_views"]["enable_circuit_terminations"]:
|
||||||
if link_from.termination_a.circuit.id not in circuit_ids:
|
if link_from.termination_a_type.name == "circuit termination":
|
||||||
circuit_ids.append(link_from.termination_a.circuit.id)
|
if link_from.termination_a.circuit.id not in circuit_ids:
|
||||||
edge_ids += 1
|
circuit_ids.append(link_from.termination_a.circuit.id)
|
||||||
|
edge_ids += 1
|
||||||
|
|
||||||
cable_b_dev_name = link_from.termination_b.device.name
|
cable_b_dev_name = link_from.termination_b.device.name
|
||||||
if cable_b_dev_name is None:
|
if cable_b_dev_name is None:
|
||||||
cable_b_dev_name = "device B name unknown"
|
cable_b_dev_name = "device B name unknown"
|
||||||
cable_b_name = link_from.termination_b.name
|
cable_b_name = link_from.termination_b.name
|
||||||
if cable_b_name is None:
|
if cable_b_name is None:
|
||||||
cable_b_name = "cable B name unknown"
|
cable_b_name = "cable B name unknown"
|
||||||
|
|
||||||
edge = {}
|
edge = {}
|
||||||
edge["id"] = edge_ids
|
edge["id"] = edge_ids
|
||||||
edge["to"] = link_from.termination_b.device.id
|
edge["to"] = link_from.termination_b.device.id
|
||||||
edge["dashes"] = True
|
edge["dashes"] = True
|
||||||
title = ""
|
title = ""
|
||||||
|
|
||||||
title += "Circuit provider: " + link_from.termination_a.circuit.provider.name + "<br>"
|
title += "Circuit provider: " + link_from.termination_a.circuit.provider.name + "<br>"
|
||||||
title += "Termination between <br>"
|
title += "Termination between <br>"
|
||||||
title += cable_b_dev_name + " [" + cable_b_name + "]<br>"
|
title += cable_b_dev_name + " [" + cable_b_name + "]<br>"
|
||||||
|
|
||||||
if link_from.termination_a.circuit.termination_a is not None and link_from.termination_a.circuit.termination_a.cable is not None and link_from.termination_a.circuit.termination_a.cable.id != link_from.id and link_from.termination_a.circuit.termination_a.cable.termination_b is not None and link_from.termination_a.circuit.termination_a.cable.termination_b.device is not None:
|
if link_from.termination_a.circuit.termination_a is not None and link_from.termination_a.circuit.termination_a.cable is not None and link_from.termination_a.circuit.termination_a.cable.id != link_from.id and link_from.termination_a.circuit.termination_a.cable.termination_b is not None and link_from.termination_a.circuit.termination_a.cable.termination_b.device is not None:
|
||||||
edge["from"] = link_from.termination_a.circuit.termination_a.cable.termination_b.device.id
|
edge["from"] = link_from.termination_a.circuit.termination_a.cable.termination_b.device.id
|
||||||
|
|
||||||
cable_a_dev_name = link_from.termination_a.circuit.termination_a.cable.termination_b.device.name
|
cable_a_dev_name = link_from.termination_a.circuit.termination_a.cable.termination_b.device.name
|
||||||
if cable_a_dev_name is None:
|
if cable_a_dev_name is None:
|
||||||
cable_a_dev_name = "device B name unknown"
|
cable_a_dev_name = "device B name unknown"
|
||||||
cable_b_name = link_from.termination_a.circuit.termination_a.cable.termination_b.name
|
cable_b_name = link_from.termination_a.circuit.termination_a.cable.termination_b.name
|
||||||
if cable_a_name is None:
|
if cable_a_name is None:
|
||||||
cable_a_name = "cable B name unknown"
|
cable_a_name = "cable B name unknown"
|
||||||
title += cable_a_dev_name + " [" + cable_a_name + "]<br>"
|
title += cable_a_dev_name + " [" + cable_a_name + "]<br>"
|
||||||
edge["title"] = title
|
edge["title"] = title
|
||||||
edges.append(edge)
|
edges.append(edge)
|
||||||
|
|
||||||
if link_from.termination_a.circuit.termination_z is not None and link_from.termination_a.circuit.termination_z.cable is not None and link_from.termination_a.circuit.termination_z.cable.id != link_from.id and link_from.termination_a.circuit.termination_z.cable.termination_b is not None and link_from.termination_a.circuit.termination_z.cable.termination_b.device is not None:
|
if link_from.termination_a.circuit.termination_z is not None and link_from.termination_a.circuit.termination_z.cable is not None and link_from.termination_a.circuit.termination_z.cable.id != link_from.id and link_from.termination_a.circuit.termination_z.cable.termination_b is not None and link_from.termination_a.circuit.termination_z.cable.termination_b.device is not None:
|
||||||
edge["from"] = link_from.termination_a.circuit.termination_z.cable.termination_b.device.id
|
edge["from"] = link_from.termination_a.circuit.termination_z.cable.termination_b.device.id
|
||||||
|
|
||||||
cable_a_dev_name = link_from.termination_a.circuit.termination_z.cable.termination_b.device.name
|
cable_a_dev_name = link_from.termination_a.circuit.termination_z.cable.termination_b.device.name
|
||||||
if cable_a_dev_name is None:
|
if cable_a_dev_name is None:
|
||||||
cable_a_dev_name = "device B name unknown"
|
cable_a_dev_name = "device B name unknown"
|
||||||
cable_a_name = link_from.termination_a.circuit.termination_z.cable.termination_b.name
|
cable_a_name = link_from.termination_a.circuit.termination_z.cable.termination_b.name
|
||||||
if cable_a_name is None:
|
if cable_a_name is None:
|
||||||
cable_a_name = "cable B name unknown"
|
cable_a_name = "cable B name unknown"
|
||||||
title += cable_a_dev_name + " [" + cable_a_name + "]<br>"
|
title += cable_a_dev_name + " [" + cable_a_name + "]<br>"
|
||||||
edge["title"] = title
|
edge["title"] = title
|
||||||
edges.append(edge)
|
edges.append(edge)
|
||||||
|
|
||||||
if qs_device.id not in nodes_ids:
|
if qs_device.id not in nodes_ids:
|
||||||
if hide_unconnected == None or (hide_unconnected is True and device_has_connections is True):
|
if hide_unconnected == None or (hide_unconnected is True and device_has_connections is True):
|
||||||
|
|||||||
Generated
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "netbox_topology_views",
|
"name": "netbox_topology_views",
|
||||||
"version": "1.0.0",
|
"version": "1.0.1",
|
||||||
"lockfileVersion": 2,
|
"lockfileVersion": 2,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
|
|||||||
+1
-1
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"private": true,
|
"private": true,
|
||||||
"name": "netbox_topology_views",
|
"name": "netbox_topology_views",
|
||||||
"version": "1.0.0",
|
"version": "1.0.1",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"resources": "gulp build",
|
"resources": "gulp build",
|
||||||
"resources_dev": "gulp build_dev"
|
"resources_dev": "gulp build_dev"
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ from setuptools import setup, find_packages
|
|||||||
|
|
||||||
setup(
|
setup(
|
||||||
name='netbox-topology-views',
|
name='netbox-topology-views',
|
||||||
version='1.0.0',
|
version='1.0.1',
|
||||||
description='An NetBox plugin to create Topology maps',
|
description='An NetBox plugin to create Topology maps',
|
||||||
url='https://github.com/mattieserver/netbox-topology-views',
|
url='https://github.com/mattieserver/netbox-topology-views',
|
||||||
author='Mattijs Vanhaverbeke',
|
author='Mattijs Vanhaverbeke',
|
||||||
|
|||||||
Reference in New Issue
Block a user