Fixes #2683: Fix exception when connecting a cable to a RearPort with no corresponding FrontPort

This commit is contained in:
Jeremy Stretch
2018-12-12 16:40:34 -05:00
parent edd763b1aa
commit 0d3b1bfca4
3 changed files with 15 additions and 9 deletions

View File

@@ -110,11 +110,14 @@ class CableTermination(models.Model):
raise Exception("Invalid position for {} ({} positions): {})".format(
termination, termination.positions, position
))
peer_port = FrontPort.objects.get(
rear_port=termination,
rear_port_position=position,
)
return peer_port, 1
try:
peer_port = FrontPort.objects.get(
rear_port=termination,
rear_port_position=position,
)
return peer_port, 1
except ObjectDoesNotExist:
return None, None
# Follow a circuit to its other termination
elif isinstance(termination, CircuitTermination) and follow_circuits:
@@ -2629,5 +2632,7 @@ class Cable(ChangeLoggedModel):
path_status = CONNECTION_STATUS_PLANNED
break
# (A path end, B path end, connected/planned)
return a_path[-1][2], b_path[-1][2], path_status
a_endpoint = a_path[-1][2]
b_endpoint = b_path[-1][2]
return a_endpoint, b_endpoint, path_status