Преглед изворни кода

fixed #2585 - connections with virtual interfaces

John Anderson пре 7 година
родитељ
комит
8a6913fe19
1 измењених фајлова са 14 додато и 0 уклоњено
  1. 14 0
      netbox/dcim/models.py

+ 14 - 0
netbox/dcim/models.py

@@ -2553,6 +2553,20 @@ class Cable(ChangeLoggedModel):
                 self.termination_b, self.termination_b.cable_id
             ))
 
+        # Virtual interfaces cannot be connected
+        endpoint_a, endpoint_b = self.get_path_endpoints()
+        if (
+            (
+                isinstance(endpoint_a, Interface) and
+                endpoint_a.form_factor == IFACE_FF_VIRTUAL
+            ) or
+            (
+                isinstance(endpoint_b, Interface) and
+                endpoint_b.form_factor == IFACE_FF_VIRTUAL
+            )
+        ):
+            raise ValidationError("Cannot connect to a virtual interface")
+
         # Validate length and length_unit
         if self.length and not self.length_unit:
             raise ValidationError("Must specify a unit when setting a cable length")