Просмотр исходного кода

Fixes #3709: Prevent exception when importing an invalid cable definition

Jeremy Stretch 6 лет назад
Родитель
Сommit
1d18948307
2 измененных файлов с 5 добавлено и 0 удалено
  1. 1 0
      docs/release-notes/version-2.6.md
  2. 4 0
      netbox/dcim/models.py

+ 1 - 0
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)
 

+ 4 - 0
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: