mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-18 04:56:29 -06:00
Fixes #11184: Correct visualization of cable path which splits across multiple circuit terminations
This commit is contained in:
parent
c8f4a7c742
commit
f882dcabf7
@ -11,6 +11,7 @@
|
|||||||
|
|
||||||
* [#11175](https://github.com/netbox-community/netbox/issues/11175) - Fix cloning of fields containing special characters
|
* [#11175](https://github.com/netbox-community/netbox/issues/11175) - Fix cloning of fields containing special characters
|
||||||
* [#11178](https://github.com/netbox-community/netbox/issues/11178) - Pressing enter in quick search box should not trigger bulk operations
|
* [#11178](https://github.com/netbox-community/netbox/issues/11178) - Pressing enter in quick search box should not trigger bulk operations
|
||||||
|
* [#11184](https://github.com/netbox-community/netbox/issues/11184) - Correct visualization of cable path which splits across multiple circuit terminations
|
||||||
* [#11185](https://github.com/netbox-community/netbox/issues/11185) - Fix TemplateSyntaxError when viewing custom script results
|
* [#11185](https://github.com/netbox-community/netbox/issues/11185) - Fix TemplateSyntaxError when viewing custom script results
|
||||||
* [#11189](https://github.com/netbox-community/netbox/issues/11189) - Fix localization of dates & numbers
|
* [#11189](https://github.com/netbox-community/netbox/issues/11189) - Fix localization of dates & numbers
|
||||||
* [#11205](https://github.com/netbox-community/netbox/issues/11205) - Correct cloning behavior for recursively-nested models
|
* [#11205](https://github.com/netbox-community/netbox/issues/11205) - Correct cloning behavior for recursively-nested models
|
||||||
|
@ -567,11 +567,12 @@ class CablePath(models.Model):
|
|||||||
|
|
||||||
elif isinstance(remote_terminations[0], CircuitTermination):
|
elif isinstance(remote_terminations[0], CircuitTermination):
|
||||||
# Follow a CircuitTermination to its corresponding CircuitTermination (A to Z or vice versa)
|
# Follow a CircuitTermination to its corresponding CircuitTermination (A to Z or vice versa)
|
||||||
term_side = remote_terminations[0].term_side
|
if len(remote_terminations) > 1:
|
||||||
assert all(ct.term_side == term_side for ct in remote_terminations[1:])
|
is_split = True
|
||||||
|
break
|
||||||
circuit_termination = CircuitTermination.objects.filter(
|
circuit_termination = CircuitTermination.objects.filter(
|
||||||
circuit=remote_terminations[0].circuit,
|
circuit=remote_terminations[0].circuit,
|
||||||
term_side='Z' if term_side == 'A' else 'A'
|
term_side='Z' if remote_terminations[0].term_side == 'A' else 'A'
|
||||||
).first()
|
).first()
|
||||||
if circuit_termination is None:
|
if circuit_termination is None:
|
||||||
break
|
break
|
||||||
@ -685,6 +686,7 @@ class CablePath(models.Model):
|
|||||||
"""
|
"""
|
||||||
Return all available next segments in a split cable path.
|
Return all available next segments in a split cable path.
|
||||||
"""
|
"""
|
||||||
|
from circuits.models import CircuitTermination
|
||||||
nodes = self.path_objects[-1]
|
nodes = self.path_objects[-1]
|
||||||
|
|
||||||
# RearPort splitting to multiple FrontPorts with no stack position
|
# RearPort splitting to multiple FrontPorts with no stack position
|
||||||
@ -694,3 +696,8 @@ class CablePath(models.Model):
|
|||||||
# RearPorts connected to different cables
|
# RearPorts connected to different cables
|
||||||
elif type(nodes[0]) is FrontPort:
|
elif type(nodes[0]) is FrontPort:
|
||||||
return RearPort.objects.filter(pk__in=[fp.rear_port_id for fp in nodes])
|
return RearPort.objects.filter(pk__in=[fp.rear_port_id for fp in nodes])
|
||||||
|
# Cable terminating to multiple CircuitTerminations
|
||||||
|
elif type(nodes[0]) is CircuitTermination:
|
||||||
|
return [
|
||||||
|
ct.get_peer_termination() for ct in nodes
|
||||||
|
]
|
||||||
|
Loading…
Reference in New Issue
Block a user