diff options
Diffstat (limited to 'forums/forms.py')
-rw-r--r-- | forums/forms.py | 52 |
1 files changed, 51 insertions, 1 deletions
diff --git a/forums/forms.py b/forums/forms.py index 5a93b5f..6bfb184 100644 --- a/forums/forms.py +++ b/forums/forms.py @@ -1,5 +1,18 @@ from django import forms from django.contrib.auth import login, logout, authenticate +from django.utils.translation import ugettext_lazy as _ +from django.core.validators import MinLengthValidator, MinValueValidator, \ +RegexValidator, URLValidator +from captcha.fields import ReCaptchaField +from django.contrib.auth.models import User +from captcha.fields import ReCaptchaField + +from django.utils.translation import ugettext_lazy as _ +from django.core.validators import MinLengthValidator, MinValueValidator, \ +RegexValidator, URLValidator +from django.template.defaultfilters import filesizeformat + + class UserLoginForm(forms.Form): username = forms.CharField() @@ -8,13 +21,50 @@ class UserLoginForm(forms.Form): def clean(self): cleaned_data = self.cleaned_data username = cleaned_data.get('username') + print username password = cleaned_data.get('password') - if username is None or password is None: + print password + if username is None or password is None: raise forms.ValidationError("Invalid username or password") user = authenticate(username=username, password=password) + if not user: raise forms.ValidationError("Invalid username or password") if not user.is_active: raise forms.ValidationError("User is blocked") cleaned_data['user'] = user return cleaned_data + + +class RegisterForm(forms.Form): + username = forms.CharField( + label = _("Username"), + max_length = 30, + widget = forms.TextInput(), + required = True, + validators = [ + RegexValidator( + regex = '^[a-zA-Z0-9-_+.]*$', + message = 'Username required. 30 characters or fewer. \ + Letters, digits and @/./+/-/_ only.', + code = 'invalid_username' + ), + ] + ) + password = forms.CharField( + label = _("Password"), + widget = forms.PasswordInput(render_value = False), + min_length = 8, + ) + + password_confirm = forms.CharField( + label = _("Password (again)"), + widget = forms.PasswordInput(render_value = False), + min_length = 8, + ) + email = forms.EmailField( + label = _("Email"), + widget = forms.TextInput(), + required=True + ) + captcha = ReCaptchaField() |