diff --git a/modoboa/core/app_settings.py b/modoboa/core/app_settings.py index 773d5b315..5d4ea3ce8 100644 --- a/modoboa/core/app_settings.py +++ b/modoboa/core/app_settings.py @@ -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 diff --git a/modoboa/extensions/admin/forms/account.py b/modoboa/extensions/admin/forms/account.py index 37d70964b..1b3ef6b10 100644 --- a/modoboa/extensions/admin/forms/account.py +++ b/modoboa/extensions/admin/forms/account.py @@ -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): diff --git a/modoboa/extensions/admin/forms/domain.py b/modoboa/extensions/admin/forms/domain.py index 45bf1149e..359e2d000 100644 --- a/modoboa/extensions/admin/forms/domain.py +++ b/modoboa/extensions/admin/forms/domain.py @@ -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): diff --git a/modoboa/extensions/limits/forms.py b/modoboa/extensions/limits/forms.py index 0f0b27f9a..b96d10ef3 100644 --- a/modoboa/extensions/limits/forms.py +++ b/modoboa/extensions/limits/forms.py @@ -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): diff --git a/modoboa/extensions/postfix_autoreply/forms.py b/modoboa/extensions/postfix_autoreply/forms.py index 0e32ebf0d..2252672bf 100644 --- a/modoboa/extensions/postfix_autoreply/forms.py +++ b/modoboa/extensions/postfix_autoreply/forms.py @@ -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 diff --git a/modoboa/extensions/postfix_relay_domains/forms.py b/modoboa/extensions/postfix_relay_domains/forms.py index 0fcd2535f..ddafe295d 100644 --- a/modoboa/extensions/postfix_relay_domains/forms.py +++ b/modoboa/extensions/postfix_relay_domains/forms.py @@ -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