From 25926e32f0b70556a3c4990c2cb0cc0c64ba893f Mon Sep 17 00:00:00 2001 From: Sander Steffann Date: Fri, 26 Jun 2020 17:30:59 +0200 Subject: [PATCH] =?UTF-8?q?Replace=20`is=5Fconnected=5Fendpoint`=20with=20?= =?UTF-8?q?simple=20`isinstance`=20check=20It=20was=20only=20used=20in=20a?= =?UTF-8?q?=20single=20location=20anyway=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- netbox/circuits/models.py | 3 --- netbox/dcim/models/device_components.py | 9 --------- netbox/dcim/signals.py | 5 +++-- 3 files changed, 3 insertions(+), 14 deletions(-) diff --git a/netbox/circuits/models.py b/netbox/circuits/models.py index ca792ae2c..57d41a994 100644 --- a/netbox/circuits/models.py +++ b/netbox/circuits/models.py @@ -300,9 +300,6 @@ class CircuitTermination(CableTermination): blank=True ) - # But they are a possible connected endpoint - is_connected_endpoint = True - class Meta: ordering = ['circuit', 'term_side'] unique_together = ['circuit', 'term_side'] diff --git a/netbox/dcim/models/device_components.py b/netbox/dcim/models/device_components.py index 1d6623117..41ebc1cad 100644 --- a/netbox/dcim/models/device_components.py +++ b/netbox/dcim/models/device_components.py @@ -86,9 +86,6 @@ class CableTermination(models.Model): object_id_field='termination_b_id' ) - # Whether this class can be a connected endpoint - is_connected_endpoint = True - class Meta: abstract = True @@ -897,9 +894,6 @@ class FrontPort(CableTermination, ComponentModel): csv_headers = ['device', 'name', 'type', 'rear_port', 'rear_port_position', 'description'] - # Whether this class can be a connected endpoint - is_connected_endpoint = False - class Meta: ordering = ('device', '_name') unique_together = ( @@ -967,9 +961,6 @@ class RearPort(CableTermination, ComponentModel): csv_headers = ['device', 'name', 'type', 'positions', 'description'] - # Whether this class can be a connected endpoint - is_connected_endpoint = False - class Meta: ordering = ('device', '_name') unique_together = ('device', 'name') diff --git a/netbox/dcim/signals.py b/netbox/dcim/signals.py index f5bf43c70..2d0f3aa45 100644 --- a/netbox/dcim/signals.py +++ b/netbox/dcim/signals.py @@ -4,7 +4,7 @@ from django.db.models.signals import post_save, pre_delete from django.dispatch import receiver from .choices import CableStatusChoices -from .models import Cable, Device, VirtualChassis +from .models import Cable, Device, FrontPort, RearPort, VirtualChassis @receiver(post_save, sender=VirtualChassis) @@ -63,7 +63,8 @@ def update_connected_endpoints(instance, **kwargs): endpoint_a = path[0][0] endpoint_b = path[-1][2] if not split_ends and not position_stack else None - if getattr(endpoint_a, 'is_connected_endpoint', False) and getattr(endpoint_b, 'is_connected_endpoint', False): + # Patch panel ports are not connected endpoints, everything else is + if not isinstance(endpoint_a, (FrontPort, RearPort)) and not isinstance(endpoint_b, (FrontPort, RearPort)): logger.debug("Updating path endpoints: {} <---> {}".format(endpoint_a, endpoint_b)) endpoint_a.connected_endpoint = endpoint_b endpoint_a.connection_status = path_status