1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

Initial work on SVG support for cable tracing

This commit is contained in:
jeremystretch
2021-07-13 15:38:34 -04:00
parent faa993acfb
commit ce7fa95546
8 changed files with 266 additions and 1 deletions

View File

@@ -10,6 +10,7 @@ from mptt.models import MPTTModel, TreeForeignKey
from dcim.choices import *
from dcim.constants import *
from dcim.fields import MACAddressField
from dcim.svg import CableTraceSVG
from extras.utils import extras_features
from netbox.models import PrimaryModel
from utilities.fields import ColorField, NaturalOrderingField
@@ -193,6 +194,10 @@ class PathEndpoint(models.Model):
# Return the path as a list of three-tuples (A termination, cable, B termination)
return list(zip(*[iter(path)] * 3))
def get_trace_svg(self, base_url=None):
trace = CableTraceSVG(self, base_url=base_url)
return trace.render()
@property
def path(self):
return self._path

View File

@@ -13,7 +13,7 @@ from django.urls import reverse
from dcim.choices import *
from dcim.constants import *
from dcim.elevations import RackElevationSVG
from dcim.svg import RackElevationSVG
from extras.utils import extras_features
from netbox.models import OrganizationalModel, PrimaryModel
from utilities.choices import ColorChoices