Browse Source

verification des extension mail externe et lower des adresses mail pour mieux verifier les doublons

override_mails
grisel-davy 7 years ago
committed by Hugo LEVY-FALK
parent
commit
84764ce51b
  1. 22
      users/forms.py

22
users/forms.py

@ -138,6 +138,12 @@ class UserCreationForm(FormRevMixin, forms.ModelForm):
prefix = kwargs.pop('prefix', self.Meta.model.__name__)
super(UserCreationForm, self).__init__(*args, prefix=prefix, **kwargs)
def clean_email(self):
if not OptionalUser.objects.first().local_email_domain in self.cleaned_data.get('email'):
return self.cleaned_data.get('email').lower()
else:
raise forms.ValidationError("You can't use an internal address as your external address.")
class Meta:
model = Adherent
fields = ('pseudo', 'surname', 'email')
@ -308,6 +314,12 @@ class AdherentForm(FormRevMixin, FieldPermissionFormMixin, ModelForm):
self.fields['room'].empty_label = "Pas de chambre"
self.fields['school'].empty_label = "Séléctionner un établissement"
def clean_email(self):
if not OptionalUser.objects.first().local_email_domain in self.cleaned_data.get('email'):
return self.cleaned_data.get('email').lower()
else:
raise forms.ValidationError("Vous ne pouvez pas utiliser une addresse {}".format(OptionalUser.objects.first().local_email_domain))
class Meta:
model = Adherent
fields = [
@ -323,6 +335,7 @@ class AdherentForm(FormRevMixin, FieldPermissionFormMixin, ModelForm):
'gpg_fingerprint'
]
def clean_telephone(self):
"""Verifie que le tel est présent si 'option est validée
dans preferences"""
@ -607,6 +620,9 @@ class EMailAddressForm(FormRevMixin, ModelForm):
super(EMailAddressForm, self).__init__(*args, prefix=prefix, **kwargs)
self.fields['local_part'].label = "Local part of the email"
self.fields['local_part'].help_text = "Can't contain @"
def clean_local_part(self):
return self.cleaned_data.get('local_part').lower()
class Meta:
model = EMailAddress
@ -631,6 +647,12 @@ class EmailSettingsForm(FormRevMixin, FieldPermissionFormMixin, ModelForm):
"Enable the use of the local email account"
)
def clean_email(self):
if not OptionalUser.objects.first().local_email_domain in self.cleaned_data.get('email'):
return self.cleaned_data.get('email').lower()
else:
raise forms.ValidationError("Vous ne pouvez pas utiliser une addresse {}".format(OptionalUser.objects.first().local_email_domain))
class Meta:
model = User
fields = ['email', 'local_email_redirect', 'local_email_enabled']

Loading…
Cancel
Save