diff --git a/docs/release-notes/version-2.6.md b/docs/release-notes/version-2.6.md index 575d23822..5097e699e 100644 --- a/docs/release-notes/version-2.6.md +++ b/docs/release-notes/version-2.6.md @@ -12,6 +12,7 @@ * [#3669](https://github.com/netbox-community/netbox/issues/3669) - Include `weight` field in prefix/VLAN role form * [#3674](https://github.com/netbox-community/netbox/issues/3674) - Include comments on PowerFeed view * [#3679](https://github.com/netbox-community/netbox/issues/3679) - Fix link for assigned ipaddress in interface page +* [#3709](https://github.com/netbox-community/netbox/issues/3709) - Prevent exception when importing an invalid cable definition # v2.6.7 (2019-11-01) diff --git a/netbox/dcim/models.py b/netbox/dcim/models.py index 45b241d42..b1b9a70bf 100644 --- a/netbox/dcim/models.py +++ b/netbox/dcim/models.py @@ -2838,6 +2838,8 @@ class Cable(ChangeLoggedModel): def clean(self): # Validate that termination A exists + if not hasattr(self, 'termination_a_type'): + raise ValidationError('Termination A type has not been specified') try: self.termination_a_type.model_class().objects.get(pk=self.termination_a_id) except ObjectDoesNotExist: @@ -2846,6 +2848,8 @@ class Cable(ChangeLoggedModel): }) # Validate that termination B exists + if not hasattr(self, 'termination_b_type'): + raise ValidationError('Termination B type has not been specified') try: self.termination_b_type.model_class().objects.get(pk=self.termination_b_id) except ObjectDoesNotExist: