photo26/accounts/forms.py
2021-10-08 20:13:15 +02:00

31 lines
1,008 B
Python

from django import forms
from django.contrib.auth.forms import UserCreationForm
from django.contrib.auth.models import User
from django.utils.translation import gettext_lazy as _
class RegistrationForm(UserCreationForm):
email = forms.EmailField(
label=_("Email address"),
widget=forms.TextInput(),
required=True,
help_text=_(
"Please enter a valid email address ending with `@crans.org` or "
"`@ens-paris-saclay.fr`."
),
)
def clean_email(self):
"""
Check that the email address ends with a trusted domain.
"""
email = self.cleaned_data.get("email")
if not email.endswith("@crans.org") and not email.endswith("@ens-paris-saclay.fr"):
raise forms.ValidationError(
_("Must end with `@crans.org` or `@ens-paris-saclay.fr`.")
)
return email
class Meta:
model = User
fields = ["username", "password1", "password2", "email"]