Allow importing cables against master device for subordinate device interfaces

This commit is contained in:
Daniel Sheppard 2023-05-10 11:26:02 -05:00
parent b7f028fba3
commit 913abd2413

View File

@ -1078,6 +1078,10 @@ class CableImportForm(NetBoxModelImportForm):
model = content_type.model_class()
try:
if device.virtual_chassis and device.virtual_chassis.master == device and \
model.objects.filter(device=device, name=name).count() == 0:
termination_object = model.objects.get(device__in=device.virtual_chassis.members.all(), name=name)
else:
termination_object = model.objects.get(device=device, name=name)
if termination_object.cable is not None:
raise forms.ValidationError(f"Side {side.upper()}: {device} {termination_object} is already connected")