diff --git a/netbox_topology_views/__init__.py b/netbox_topology_views/__init__.py
index a24fb78..caefa32 100644
--- a/netbox_topology_views/__init__.py
+++ b/netbox_topology_views/__init__.py
@@ -4,7 +4,7 @@ class TopologyViewsConfig(PluginConfig):
name = 'netbox_topology_views'
verbose_name = 'Topology views'
description = 'An plugin to render toplogoy maps'
- version = '0.4.2'
+ version = '0.4.3'
author = 'Mattijs Vanhaverbeke'
author_email = 'author@example.com'
base_url = 'topology-views'
diff --git a/netbox_topology_views/api/views.py b/netbox_topology_views/api/views.py
index be108c5..b189478 100644
--- a/netbox_topology_views/api/views.py
+++ b/netbox_topology_views/api/views.py
@@ -128,19 +128,42 @@ class SearchViewSet(GenericViewSet):
if cable.termination_a_type.name not in ignore_cable_type and cable.termination_b_type.name not in ignore_cable_type:
cable_ids.append(cable.id)
edge_ids += 1
+
+ cable_a_dev_name = cable.termination_a.device.name
+ if cable_a_dev_name is None:
+ cable_a_dev_name = "device A name unkown"
+ cable_a_name = cable.termination_a.name
+ if cable_a_name is None:
+ cable_a_name = "cable A name unkown"
+ cable_b_dev_name = cable.termination_b.device.name
+ if cable_b_dev_name is None:
+ cable_b_dev_name = "device B name unkown"
+ cable_b_name = cable.termination_b.name
+ if cable_b_name is None:
+ cable_b_name = "cable B name unkown"
+
edge = {}
edge["id"] = edge_ids
edge["from"] = cable.termination_a.device.id
edge["to"] = cable.termination_b.device.id
- edge["title"] = "Connection between
" + cable.termination_a.device.name + " [" + cable.termination_a.name + "]
" + cable.termination_b.device.name + " [" + cable.termination_b.name + "]"
+ edge["title"] = "Connection between
" + cable_a_dev_name + " [" + cable_a_name + "]
" + cable_b_dev_name + " [" + cable_b_name + "]"
edges.append(edge)
else:
pass
#circuittermination not supported for now
+
+ dev_name = device.name
+ if dev_name is None:
+ dev_name = "device name unkown"
+
+ cable_role_name = device.device_type.display_name
+ if cable_role_name is None:
+ cable_role_name = "device role name unkown"
+
node = {}
node["id"] = device.id
- node["name"] = device.name
- node["label"] = device.name + " " + device.device_type.display_name
+ node["name"] = dev_name
+ node["label"] = dev_name + " {" + cable_role_name + "}"
node["shape"] = 'image'
if device.device_role.slug in settings.PLUGINS_CONFIG["netbox_topology_views"]["device_img"]:
node["image"] = '../../static/netbox_topology_views/img/' + device.device_role.slug + ".png"
diff --git a/package.json b/package.json
index fe8ef7e..9a15caf 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"private": true,
"name": "netbox_topology_views",
- "version": "0.4.2",
+ "version": "0.4.3",
"scripts": {
"resources": "gulp build",
"resources_dev": "gulp build_dev"
diff --git a/setup.py b/setup.py
index ac25579..a878b0a 100644
--- a/setup.py
+++ b/setup.py
@@ -3,7 +3,7 @@ from setuptools import setup, find_packages
setup(
name='netbox-topology-views',
- version='0.4.2',
+ version='0.4.3',
description='An NetBox plugin to create Topology maps',
url='https://github.com/mattieserver/netbox-topology-views',
author='Mattijs Vanhaverbeke',