mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
Fixes #6602: Fix deletion of devices with cables attached
This commit is contained in:
@ -13,6 +13,7 @@
|
|||||||
* [#6562](https://github.com/netbox-community/netbox/issues/6562) - Disable ordering of secrets by assigned object
|
* [#6562](https://github.com/netbox-community/netbox/issues/6562) - Disable ordering of secrets by assigned object
|
||||||
* [#6563](https://github.com/netbox-community/netbox/issues/6563) - Fix filtering by location for cable connection forms
|
* [#6563](https://github.com/netbox-community/netbox/issues/6563) - Fix filtering by location for cable connection forms
|
||||||
* [#6584](https://github.com/netbox-community/netbox/issues/6584) - Fix ordering of nested inventory items
|
* [#6584](https://github.com/netbox-community/netbox/issues/6584) - Fix ordering of nested inventory items
|
||||||
|
* [#6602](https://github.com/netbox-community/netbox/issues/6602) - Fix deletion of devices with cables attached
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
@ -146,14 +146,12 @@ def nullify_connected_endpoints(instance, **kwargs):
|
|||||||
# Disassociate the Cable from its termination points
|
# Disassociate the Cable from its termination points
|
||||||
if instance.termination_a is not None:
|
if instance.termination_a is not None:
|
||||||
logger.debug(f"Nullifying termination A for cable {instance}")
|
logger.debug(f"Nullifying termination A for cable {instance}")
|
||||||
instance.termination_a.cable = None
|
model = instance.termination_a._meta.model
|
||||||
instance.termination_a._cable_peer = None
|
model.objects.filter(pk=instance.termination_a.pk).update(_cable_peer_type=None, _cable_peer_id=None)
|
||||||
instance.termination_a.save()
|
|
||||||
if instance.termination_b is not None:
|
if instance.termination_b is not None:
|
||||||
logger.debug(f"Nullifying termination B for cable {instance}")
|
logger.debug(f"Nullifying termination B for cable {instance}")
|
||||||
instance.termination_b.cable = None
|
model = instance.termination_b._meta.model
|
||||||
instance.termination_b._cable_peer = None
|
model.objects.filter(pk=instance.termination_b.pk).update(_cable_peer_type=None, _cable_peer_id=None)
|
||||||
instance.termination_b.save()
|
|
||||||
|
|
||||||
# Delete and retrace any dependent cable paths
|
# Delete and retrace any dependent cable paths
|
||||||
for cablepath in CablePath.objects.filter(path__contains=instance):
|
for cablepath in CablePath.objects.filter(path__contains=instance):
|
||||||
|
Reference in New Issue
Block a user