mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-16 12:12:53 -06:00
Validade interface mode changes
This commit is contained in:
parent
fbf926204e
commit
125bce84e4
@ -41,7 +41,6 @@ class InterfaceCommonForm(forms.Form):
|
|||||||
|
|
||||||
def clean(self):
|
def clean(self):
|
||||||
super().clean()
|
super().clean()
|
||||||
|
|
||||||
parent_field = 'device' if 'device' in self.cleaned_data else 'virtual_machine'
|
parent_field = 'device' if 'device' in self.cleaned_data else 'virtual_machine'
|
||||||
if 'tagged_vlans' in self.fields.keys():
|
if 'tagged_vlans' in self.fields.keys():
|
||||||
tagged_vlans = self.cleaned_data.get('tagged_vlans') if self.is_bound else \
|
tagged_vlans = self.cleaned_data.get('tagged_vlans') if self.is_bound else \
|
||||||
@ -61,6 +60,12 @@ class InterfaceCommonForm(forms.Form):
|
|||||||
"or they must be global"
|
"or they must be global"
|
||||||
).format(vlans=', '.join(invalid_vlans))
|
).format(vlans=', '.join(invalid_vlans))
|
||||||
})
|
})
|
||||||
|
# Validate mode change
|
||||||
|
if self.instance.pk and (self.instance.mode != self.cleaned_data['mode']):
|
||||||
|
if 'untagged_vlan' not in self.cleaned_data and self.instance.untagged_vlan is not None:
|
||||||
|
self.instance.untagged_vlan = None
|
||||||
|
if 'tagged_vlans' not in self.cleaned_data and self.instance.tagged_vlans is not None:
|
||||||
|
self.instance.tagged_vlans.clear()
|
||||||
|
|
||||||
|
|
||||||
class ModuleCommonForm(forms.Form):
|
class ModuleCommonForm(forms.Form):
|
||||||
|
Loading…
Reference in New Issue
Block a user