diff options
Diffstat (limited to 'views/forms.py')
-rw-r--r-- | views/forms.py | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/views/forms.py b/views/forms.py index a2aac0e..97e5550 100644 --- a/views/forms.py +++ b/views/forms.py @@ -1,4 +1,36 @@ from django import forms +from django.core import validators +from django.contrib.auth.models import User + +def isValidUsername(username): + try: + User.objects.get(username=username) + except User.DoesNotExist: + return + raise validators.ValidationError('The username "%s" is already taken.' % username) + +class RegistrationForm(forms.Form): + + username = forms.CharField(label='username', help_text=None, + widget=forms.TextInput( + attrs={'placeholder': 'username...'} + ), required = True, validators=[isValidUsername] + ) + + email = forms.EmailField(required=True) + + password1 = forms.CharField(widget=forms.PasswordInput) + + password2 = forms.CharField(widget=forms.PasswordInput) + + def save(self, new_user_data): + u = User.objects.create_user(new_user_data['username'], + new_user_data['email'], + new_user_data['password1']) + u.is_active = True + u.save() + return u + class AddTagForm(forms.Form): tag = forms.CharField(label='', help_text=None, |