fixed #2585 - connections with virtual interfaces

This commit is contained in:
John Anderson 2018-11-12 23:18:23 -05:00
parent 7cd0e0b244
commit 8a6913fe19

View File

@ -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")