8
0
Fork 0
mirror of https://gitlab2.federez.net/re2o/re2o synced 2024-11-05 01:16:27 +00:00

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

This commit is contained in:
Hugo LEVY-FALK 2019-01-11 13:43:57 +01:00 committed by chirac
parent 3443965e37
commit c92b68872e

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"""