Saria Hajjar 6 лет назад
Родитель
Сommit
05570ae4ad
1 измененных файлов с 9 добавлено и 0 удалено
  1. 9 0
      netbox/dcim/forms.py

+ 9 - 0
netbox/dcim/forms.py

@@ -74,6 +74,15 @@ class InterfaceCommonForm:
         elif self.cleaned_data['mode'] == IFACE_MODE_TAGGED_ALL:
         elif self.cleaned_data['mode'] == IFACE_MODE_TAGGED_ALL:
             self.cleaned_data['tagged_vlans'] = []
             self.cleaned_data['tagged_vlans'] = []
 
 
+        # Validate tagged VLANs; must be a global VLAN or in the same site 
+        else:
+            for tagged_vlan in tagged_vlans:
+                if tagged_vlan.site not in [self.cleaned_data['device'].site, None]:
+                    raise forms.ValidationError({
+                        'tagged_vlans': "The tagged VLAN ({}) must belong to the same site as the interface's parent "
+                                         "device/VM, or it must be global".format(tagged_vlan)
+                    })
+
 
 
 class BulkRenameForm(forms.Form):
 class BulkRenameForm(forms.Form):
     """
     """