8
0
Fork 0
mirror of https://gitlab2.federez.net/re2o/re2o synced 2024-11-26 22:52:26 +00:00

Merge branch 'fix_radius_option_validation' into 'dev'

Fix radius options, force to set a vlan when adding a policy which requires it.

See merge request federez/re2o!392
This commit is contained in:
chirac 2019-01-11 16:11:11 +01:00
commit 54a5dca858

View file

@ -231,6 +231,27 @@ class EditRadiusOptionForm(ModelForm):
model = RadiusOption model = RadiusOption
fields = '__all__' fields = '__all__'
def clean(self):
cleaned_data = super().clean()
ignored=('radius_general_policy', 'vlan_decision_ok')
fields = (
f for f in self.fields.keys()
if 'vlan' not in f and f not in ignored
)
for f in fields:
choice = cleaned_data.get(f)
vlan = cleaned_data.get(f+'_vlan')
if choice == RadiusOption.SET_VLAN and vlan is None:
self.add_error(
f,
_("You chose to set vlan but did not set any VLAN."),
)
self.add_error(
f+'_vlan',
_("Please, choose a VLAN."),
)
return cleaned_data
class ServiceForm(ModelForm): class ServiceForm(ModelForm):
"""Edition, ajout de services sur la page d'accueil""" """Edition, ajout de services sur la page d'accueil"""