Fix support for tracing across bridge relationships

This commit is contained in:
jeremystretch 2022-07-07 14:35:02 -04:00
parent a858e041e4
commit d444aa1110
2 changed files with 5 additions and 5 deletions

View File

@ -59,7 +59,7 @@ class PathEndpointMixin(object):
width = int(request.GET.get('width', CABLE_TRACE_SVG_DEFAULT_WIDTH))
except (ValueError, TypeError):
width = CABLE_TRACE_SVG_DEFAULT_WIDTH
drawing = CableTraceSVG(self, base_url=request.build_absolute_uri('/'), width=width)
drawing = CableTraceSVG(obj, base_url=request.build_absolute_uri('/'), width=width)
return HttpResponse(drawing.render().tostring(), content_type='image/svg+xml')
# Serialize path objects, iterating over each three-tuple in the path

View File

@ -211,10 +211,10 @@ class PathEndpoint(models.Model):
# by inserting empty entries immediately prior to the path's destination node(s)
path.append([])
# TODO: Add bridging support
# # Check for bridge interface to continue the trace
# origin = getattr(origin._path.destination, 'bridge', None)
origin = None
# Check for a bridged relationship to continue the trace
destinations = origin._path.destinations
if len(destinations) == 1:
origin = getattr(destinations[0], 'bridge', None)
# Return the path as a list of three-tuples (A termination(s), cable(s), B termination(s))
return list(zip(*[iter(path)] * 3))