Using the new add_error method when checking for form errors.

This commit is contained in:
Antoine Nguyen
2015-02-02 14:32:39 +01:00
parent 9e853ae88b
commit 53f80d5499
6 changed files with 15 additions and 43 deletions
+1 -4
View File
@@ -285,8 +285,6 @@ class GeneralParametersForm(parameters.AdminParametersForm):
required parameters.
"""
super(GeneralParametersForm, self).clean()
if len(self._errors):
raise forms.ValidationError(self._errors)
cleaned_data = self.cleaned_data
if cleaned_data["authentication_type"] != "ldap":
return cleaned_data
@@ -298,8 +296,7 @@ class GeneralParametersForm(parameters.AdminParametersForm):
for f in required_fields:
if f not in cleaned_data or cleaned_data[f] == u'':
self._errors[f] = self.error_class(
[_("This field is required")])
self.add_error(f, _("This field is required"))
return cleaned_data
+1 -5
View File
@@ -208,14 +208,10 @@ class AccountFormMail(forms.Form, DynamicForm):
Check if quota is >= 0 only when the domain value is not used.
"""
super(AccountFormMail, self).clean()
if self._errors:
raise forms.ValidationError(self._errors)
if not self.cleaned_data["quota_act"] \
and self.cleaned_data['quota'] is not None:
if self.cleaned_data["quota"] < 0:
self._errors["quota"] = self.error_class(
[_("Must be a positive integer")])
del self.cleaned_data["quota"]
self.add_error("quota", _("Must be a positive integer"))
return self.cleaned_data
def create_mailbox(self, user, account):
+4 -12
View File
@@ -78,18 +78,13 @@ class DomainFormGeneral(forms.ModelForm, DynamicForm):
The validation way is not very smart...
"""
super(DomainFormGeneral, self).clean()
if self._errors:
raise forms.ValidationError(self._errors)
cleaned_data = self.cleaned_data
name = cleaned_data["name"]
label = check_if_domain_exists(name, [(DomainAlias, _('domain alias'))])
if label is not None:
self._errors["name"] = self.error_class(
[_("A %s with this name already exists" % unicode(label))]
self.add_error(
"name", _("A %s with this name already exists") % unicode(label)
)
del cleaned_data["name"]
for k in cleaned_data.keys():
if not k.startswith("aliases"):
continue
@@ -99,11 +94,8 @@ class DomainFormGeneral(forms.ModelForm, DynamicForm):
label = check_if_domain_exists(
cleaned_data[k], [(Domain, _('domain'))])
if label is not None:
self._errors[k] = self.error_class(
[_("A %s with this name already exists" % unicode(label))]
)
del cleaned_data[k]
self.add_error(
k, _("A %s with this name already exists") % unicode(label))
return cleaned_data
def update_mailbox_quotas(self, domain):
+1 -2
View File
@@ -37,8 +37,7 @@ class ResourcePoolForm(forms.Form):
cleaned_data = super(ResourcePoolForm, self).clean()
for lname in self.fields.keys():
if lname not in self._errors and cleaned_data[lname] < -1:
self._errors[lname] = self.error_class([_('Invalid limit')])
del cleaned_data[lname]
self.add_error(lname, _("Invalid limit"))
return cleaned_data
def load_from_user(self, user):
+4 -11
View File
@@ -63,26 +63,19 @@ class ARmessageForm(forms.ModelForm):
"""
super(ARmessageForm, self).clean()
if self._errors:
raise forms.ValidationError(self._errors)
if not self.cleaned_data["enabled"]:
return self.cleaned_data
if self.cleaned_data["fromdate"] is not None:
if self.cleaned_data["fromdate"] < timezone.now():
self._errors["fromdate"] = self.error_class(
[_("This date is over")])
del self.cleaned_data['fromdate']
self.add_error("fromdate", _("This date is over"))
else:
self.cleaned_data['fromdate'] = timezone.now()
if self.cleaned_data["untildate"] is not None:
untildate = self.cleaned_data["untildate"]
if untildate < timezone.now():
self._errors["untildate"] = self.error_class(
[_("This date is over")])
del self.cleaned_data["untildate"]
self.add_error("untildate", _("This date is over"))
elif "fromdate" in self.cleaned_data and \
untildate < self.cleaned_data["fromdate"]:
self._errors["untildate"] = \
self.error_class([_("Must be greater than start date")])
del self.cleaned_data["untildate"]
self.add_error(
"untildate", _("Must be greater than start date"))
return self.cleaned_data
@@ -55,8 +55,6 @@ class RelayDomainFormGeneral(forms.ModelForm, DynamicForm):
The validation way is not very smart...
"""
super(RelayDomainFormGeneral, self).clean()
if self._errors:
raise forms.ValidationError(self._errors)
cleaned_data = self.cleaned_data
for dtype, label in [(Domain, _('domain')),
(DomainAlias, _('domain alias')),
@@ -66,10 +64,9 @@ class RelayDomainFormGeneral(forms.ModelForm, DynamicForm):
except dtype.DoesNotExist:
pass
else:
self._errors["name"] = self.error_class(
[_("A %s with this name already exists" % label)]
self.add_error(
"name", _("A %s with this name already exists") % label
)
del cleaned_data["name"]
break
for k in cleaned_data.keys():
@@ -86,10 +83,8 @@ class RelayDomainFormGeneral(forms.ModelForm, DynamicForm):
except dtype.DoesNotExist:
pass
else:
self._errors[k] = self.error_class(
[_("A %s with this name already exists" % name)]
)
del cleaned_data[k]
self.add_error(
k, _("A %s with this name already exists") % name)
break
return cleaned_data