Skip to content

Commit 125bce8

Browse files
Validade interface mode changes
1 parent fbf9262 commit 125bce8

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

netbox/dcim/forms/common.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@ def __init__(self, *args, **kwargs):
4141

4242
def clean(self):
4343
super().clean()
44-
4544
parent_field = 'device' if 'device' in self.cleaned_data else 'virtual_machine'
4645
if 'tagged_vlans' in self.fields.keys():
4746
tagged_vlans = self.cleaned_data.get('tagged_vlans') if self.is_bound else \
@@ -61,6 +60,12 @@ def clean(self):
6160
"or they must be global"
6261
).format(vlans=', '.join(invalid_vlans))
6362
})
63+
# Validate mode change
64+
if self.instance.pk and (self.instance.mode != self.cleaned_data['mode']):
65+
if 'untagged_vlan' not in self.cleaned_data and self.instance.untagged_vlan is not None:
66+
self.instance.untagged_vlan = None
67+
if 'tagged_vlans' not in self.cleaned_data and self.instance.tagged_vlans is not None:
68+
self.instance.tagged_vlans.clear()
6469

6570

6671
class ModuleCommonForm(forms.Form):

0 commit comments

Comments
 (0)