author | nishanth |
Fri, 09 Apr 2010 15:35:40 +0530 | |
changeset 6 | 057498d12450 |
parent 4 | ededea9ad08b |
child 7 | af9ab5ad2786 |
permissions | -rw-r--r-- |
6
057498d12450
users can now register but still there is no concept of activation e-mail .
nishanth
parents:
4
diff
changeset
|
1 |
import string |
057498d12450
users can now register but still there is no concept of activation e-mail .
nishanth
parents:
4
diff
changeset
|
2 |
|
3
182f216da4a8
made the login view. have to write templates and check it.
nishanth
parents:
diff
changeset
|
3 |
from django.contrib.auth.models import User |
182f216da4a8
made the login view. have to write templates and check it.
nishanth
parents:
diff
changeset
|
4 |
from django import forms |
182f216da4a8
made the login view. have to write templates and check it.
nishanth
parents:
diff
changeset
|
5 |
|
182f216da4a8
made the login view. have to write templates and check it.
nishanth
parents:
diff
changeset
|
6 |
from django.contrib.auth import authenticate |
182f216da4a8
made the login view. have to write templates and check it.
nishanth
parents:
diff
changeset
|
7 |
|
6
057498d12450
users can now register but still there is no concept of activation e-mail .
nishanth
parents:
4
diff
changeset
|
8 |
from workshop.reg.models import Profile |
057498d12450
users can now register but still there is no concept of activation e-mail .
nishanth
parents:
4
diff
changeset
|
9 |
|
4 | 10 |
class LoginForm(forms.Form): |
3
182f216da4a8
made the login view. have to write templates and check it.
nishanth
parents:
diff
changeset
|
11 |
""" a form to handle login. |
182f216da4a8
made the login view. have to write templates and check it.
nishanth
parents:
diff
changeset
|
12 |
""" |
182f216da4a8
made the login view. have to write templates and check it.
nishanth
parents:
diff
changeset
|
13 |
|
4 | 14 |
email = forms.EmailField() |
15 |
password = forms.CharField(widget=forms.PasswordInput) |
|
3
182f216da4a8
made the login view. have to write templates and check it.
nishanth
parents:
diff
changeset
|
16 |
|
182f216da4a8
made the login view. have to write templates and check it.
nishanth
parents:
diff
changeset
|
17 |
def clean_email(self): |
182f216da4a8
made the login view. have to write templates and check it.
nishanth
parents:
diff
changeset
|
18 |
""" see if a user exists for this email. |
182f216da4a8
made the login view. have to write templates and check it.
nishanth
parents:
diff
changeset
|
19 |
""" |
182f216da4a8
made the login view. have to write templates and check it.
nishanth
parents:
diff
changeset
|
20 |
|
182f216da4a8
made the login view. have to write templates and check it.
nishanth
parents:
diff
changeset
|
21 |
email = self.cleaned_data['email'] |
4 | 22 |
password = self.data['password'] |
3
182f216da4a8
made the login view. have to write templates and check it.
nishanth
parents:
diff
changeset
|
23 |
try: |
4 | 24 |
username = User.objects.get(email__iexact=email).username |
3
182f216da4a8
made the login view. have to write templates and check it.
nishanth
parents:
diff
changeset
|
25 |
except User.DoesNotExist: |
182f216da4a8
made the login view. have to write templates and check it.
nishanth
parents:
diff
changeset
|
26 |
raise forms.ValidationError("Incorrect e-mail or password") |
182f216da4a8
made the login view. have to write templates and check it.
nishanth
parents:
diff
changeset
|
27 |
|
4 | 28 |
user = authenticate(username=username, password=password) |
3
182f216da4a8
made the login view. have to write templates and check it.
nishanth
parents:
diff
changeset
|
29 |
if not user: |
182f216da4a8
made the login view. have to write templates and check it.
nishanth
parents:
diff
changeset
|
30 |
raise forms.ValidationError("Incorrect e-mail or password") |
4 | 31 |
return email |
3
182f216da4a8
made the login view. have to write templates and check it.
nishanth
parents:
diff
changeset
|
32 |
|
6
057498d12450
users can now register but still there is no concept of activation e-mail .
nishanth
parents:
4
diff
changeset
|
33 |
class RegisterForm(forms.ModelForm): |
057498d12450
users can now register but still there is no concept of activation e-mail .
nishanth
parents:
4
diff
changeset
|
34 |
""" add the fields email and password |
057498d12450
users can now register but still there is no concept of activation e-mail .
nishanth
parents:
4
diff
changeset
|
35 |
and then generate form using profile model. |
057498d12450
users can now register but still there is no concept of activation e-mail .
nishanth
parents:
4
diff
changeset
|
36 |
""" |
057498d12450
users can now register but still there is no concept of activation e-mail .
nishanth
parents:
4
diff
changeset
|
37 |
|
057498d12450
users can now register but still there is no concept of activation e-mail .
nishanth
parents:
4
diff
changeset
|
38 |
email = forms.EmailField() |
057498d12450
users can now register but still there is no concept of activation e-mail .
nishanth
parents:
4
diff
changeset
|
39 |
password = forms.CharField(widget=forms.PasswordInput, help_text="Choose a good password which 8 to 30 chars long") |
057498d12450
users can now register but still there is no concept of activation e-mail .
nishanth
parents:
4
diff
changeset
|
40 |
confirm_password = forms.CharField(widget=forms.PasswordInput) |
057498d12450
users can now register but still there is no concept of activation e-mail .
nishanth
parents:
4
diff
changeset
|
41 |
|
057498d12450
users can now register but still there is no concept of activation e-mail .
nishanth
parents:
4
diff
changeset
|
42 |
first_name = forms.CharField(required=True) |
057498d12450
users can now register but still there is no concept of activation e-mail .
nishanth
parents:
4
diff
changeset
|
43 |
last_name = forms.CharField() |
057498d12450
users can now register but still there is no concept of activation e-mail .
nishanth
parents:
4
diff
changeset
|
44 |
|
057498d12450
users can now register but still there is no concept of activation e-mail .
nishanth
parents:
4
diff
changeset
|
45 |
class Meta: |
057498d12450
users can now register but still there is no concept of activation e-mail .
nishanth
parents:
4
diff
changeset
|
46 |
model = Profile |
057498d12450
users can now register but still there is no concept of activation e-mail .
nishanth
parents:
4
diff
changeset
|
47 |
fields = ['email', 'password', 'confirm_password', 'first_name', 'last_name', 'gender', 'profession', 'affiliated_to', 'interests'] |
057498d12450
users can now register but still there is no concept of activation e-mail .
nishanth
parents:
4
diff
changeset
|
48 |
|
057498d12450
users can now register but still there is no concept of activation e-mail .
nishanth
parents:
4
diff
changeset
|
49 |
def clean_email(self): |
057498d12450
users can now register but still there is no concept of activation e-mail .
nishanth
parents:
4
diff
changeset
|
50 |
email = self.cleaned_data['email'] |
057498d12450
users can now register but still there is no concept of activation e-mail .
nishanth
parents:
4
diff
changeset
|
51 |
try: |
057498d12450
users can now register but still there is no concept of activation e-mail .
nishanth
parents:
4
diff
changeset
|
52 |
User.objects.get(email__iexact=email) |
057498d12450
users can now register but still there is no concept of activation e-mail .
nishanth
parents:
4
diff
changeset
|
53 |
raise forms.ValidationError("An account already exists with this email.\ |
057498d12450
users can now register but still there is no concept of activation e-mail .
nishanth
parents:
4
diff
changeset
|
54 |
Click on forgot password if you have forgotten your password") |
057498d12450
users can now register but still there is no concept of activation e-mail .
nishanth
parents:
4
diff
changeset
|
55 |
except User.DoesNotExist: |
057498d12450
users can now register but still there is no concept of activation e-mail .
nishanth
parents:
4
diff
changeset
|
56 |
return email |
057498d12450
users can now register but still there is no concept of activation e-mail .
nishanth
parents:
4
diff
changeset
|
57 |
|
057498d12450
users can now register but still there is no concept of activation e-mail .
nishanth
parents:
4
diff
changeset
|
58 |
def clean_password(self): |
057498d12450
users can now register but still there is no concept of activation e-mail .
nishanth
parents:
4
diff
changeset
|
59 |
password = self.cleaned_data['password'] |
057498d12450
users can now register but still there is no concept of activation e-mail .
nishanth
parents:
4
diff
changeset
|
60 |
|
057498d12450
users can now register but still there is no concept of activation e-mail .
nishanth
parents:
4
diff
changeset
|
61 |
if password.strip(string.ascii_letters+string.punctuation+string.digits): |
057498d12450
users can now register but still there is no concept of activation e-mail .
nishanth
parents:
4
diff
changeset
|
62 |
raise forms.ValidationError("Only alphabets, digits and punctuation symbols are allowed in password") |
057498d12450
users can now register but still there is no concept of activation e-mail .
nishanth
parents:
4
diff
changeset
|
63 |
|
057498d12450
users can now register but still there is no concept of activation e-mail .
nishanth
parents:
4
diff
changeset
|
64 |
if not 8 <= len(password) <= 30: |
057498d12450
users can now register but still there is no concept of activation e-mail .
nishanth
parents:
4
diff
changeset
|
65 |
raise forms.ValidationError("Password must be atleast 8 characters and at most 30 characters") |
057498d12450
users can now register but still there is no concept of activation e-mail .
nishanth
parents:
4
diff
changeset
|
66 |
|
057498d12450
users can now register but still there is no concept of activation e-mail .
nishanth
parents:
4
diff
changeset
|
67 |
if not password == self.data['confirm_password']: |
057498d12450
users can now register but still there is no concept of activation e-mail .
nishanth
parents:
4
diff
changeset
|
68 |
raise forms.ValidationError("Passwords do not match") |