author | nishanth |
Sat, 29 May 2010 15:49:48 +0530 | |
changeset 21 | 3d7a52d9ed2e |
parent 20 | 9db4ee082d4e |
child 24 | f79be1dd4a22 |
permissions | -rw-r--r-- |
8 | 1 |
from django import forms |
2 |
||
19 | 3 |
from sage_days.sdi.models import Registrant, TOPICS_CHOICES |
8 | 4 |
|
5 |
class RegisterForm(forms.ModelForm): |
|
6 |
""" The form that is displayed to user. |
|
7 |
""" |
|
8 |
||
20
9db4ee082d4e
added topics choices and corresponding clean method
nishanth
parents:
19
diff
changeset
|
9 |
topics_interested = forms.MultipleChoiceField(widget=forms.CheckboxSelectMultiple, choices=TOPICS_CHOICES, required=False) |
8 | 10 |
class Meta: |
11 |
model = Registrant |
|
19 | 12 |
|
21 | 13 |
def clean_email(self): |
14 |
""" See if the user has already registered using the email. |
|
15 |
""" |
|
16 |
||
17 |
email = self.cleaned_data['email'].strip() |
|
18 |
try: |
|
19 |
Registrant.objects.get(email__iexact=email) |
|
20 |
raise forms.ValidationError("This email is already registered. Did you register earlier??") |
|
21 |
except Registrant.DoesNotExist: |
|
22 |
return email |
|
23 |
||
20
9db4ee082d4e
added topics choices and corresponding clean method
nishanth
parents:
19
diff
changeset
|
24 |
def clean_topics_interested(self): |
9db4ee082d4e
added topics choices and corresponding clean method
nishanth
parents:
19
diff
changeset
|
25 |
""" Join the choices using PIPE character and store them. |
9db4ee082d4e
added topics choices and corresponding clean method
nishanth
parents:
19
diff
changeset
|
26 |
""" |
9db4ee082d4e
added topics choices and corresponding clean method
nishanth
parents:
19
diff
changeset
|
27 |
|
9db4ee082d4e
added topics choices and corresponding clean method
nishanth
parents:
19
diff
changeset
|
28 |
topics = self.cleaned_data['topics_interested'] |
9db4ee082d4e
added topics choices and corresponding clean method
nishanth
parents:
19
diff
changeset
|
29 |
return "|".join(topics) |