diff options
Diffstat (limited to 'alphabetlearning/users/forms.py')
-rw-r--r-- | alphabetlearning/users/forms.py | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/alphabetlearning/users/forms.py b/alphabetlearning/users/forms.py new file mode 100644 index 0000000..fe8a886 --- /dev/null +++ b/alphabetlearning/users/forms.py @@ -0,0 +1,44 @@ +from allauth.account.forms import SignupForm +from allauth.socialaccount.forms import SignupForm as SocialSignupForm +from django.contrib.auth import forms as admin_forms +from django.forms import EmailField +from django.utils.translation import gettext_lazy as _ + +from .models import User + + +class UserAdminChangeForm(admin_forms.UserChangeForm): + class Meta(admin_forms.UserChangeForm.Meta): + model = User + field_classes = {"email": EmailField} + + +class UserAdminCreationForm(admin_forms.UserCreationForm): + """ + Form for User Creation in the Admin Area. + To change user signup, see UserSignupForm and UserSocialSignupForm. + """ + + class Meta(admin_forms.UserCreationForm.Meta): + model = User + fields = ("email",) + field_classes = {"email": EmailField} + error_messages = { + "email": {"unique": _("This email has already been taken.")}, + } + + +class UserSignupForm(SignupForm): + """ + Form that will be rendered on a user sign up section/screen. + Default fields will be added automatically. + Check UserSocialSignupForm for accounts created from social. + """ + + +class UserSocialSignupForm(SocialSignupForm): + """ + Renders the form when user has signed up using social accounts. + Default fields will be added automatically. + See UserSignupForm otherwise. + """ |