summaryrefslogtreecommitdiff
path: root/allotter/forms.py
diff options
context:
space:
mode:
Diffstat (limited to 'allotter/forms.py')
-rw-r--r--allotter/forms.py110
1 files changed, 0 insertions, 110 deletions
diff --git a/allotter/forms.py b/allotter/forms.py
deleted file mode 100644
index 65e4cf6..0000000
--- a/allotter/forms.py
+++ /dev/null
@@ -1,110 +0,0 @@
-
-from django import forms
-from allotter.models import Profile
-from django.forms.extras.widgets import SelectDateWidget
-
-from django.utils.encoding import *
-
-from django.contrib.auth import authenticate
-from django.contrib.auth.models import User
-
-from string import digits
-
-BIRTH_YEAR_CHOICES = ('1986','1987','1988','1989','1990','1991')
-
-
-class UserLoginForm(forms.Form):
-
- ##Registration Number as Username
- username = forms.IntegerField(label="Registration Number",
- help_text="As on your Examination ID Card")
-
- ##Application number as password
- password = forms.CharField(label = "Application Number",
- max_length=10, help_text="As on your Examination ID Card")
-
- dob = forms.DateField(label="Date of Birth",
- widget=SelectDateWidget(years=BIRTH_YEAR_CHOICES),
- initial=datetime.date.today)
-
- def clean_username(self):
- u_name = self.cleaned_data["username"]
-
- if not u_name:
- raise forms.ValidationError("Enter an username.")
-
- ##Verifies whether username contains only digits and is not
- ##longer than 7, i.e Username == Registration Number.
- if str(u_name).strip(digits) or len(str(u_name)) != 7:
- msg = "Invalid Registration Number"
- raise forms.ValidationError(msg)
-
- ##Verifying whether the user already exists in the database
- ##Raising error otherwise
- try:
- User.objects.get(username__exact = u_name)
- return u_name
- except User.DoesNotExist:
- raise forms.ValidationError("Entered Registration Number haven't appeared for JAM Exam.")
-
- def clean_password(self):
-
- pwd = self.cleaned_data['password']
-
- ##Verifying the length of application number and whether it contains
- ##only digits.
-
- if str(pwd).strip(digits) and len(pwd) != 5:
- msg = "Not a valid Application Number"
- raise forms.ValidationError(msg)
-
- return pwd
-
- def clean(self):
- super(UserLoginForm, self).clean()
- u_name, pwd = self.cleaned_data.get('username'), self.cleaned_data.get('password')
- dob = self.cleaned_data['dob']
- try:
- current_user = User.objects.get(username__exact = u_name)
- profile = current_user.get_profile()
- if profile.dob != dob:
- raise forms.ValidationError("Date of Birth doesn't match.")
- except User.DoesNotExist:
- raise forms.ValidationError("Correct the following errors and try logging in again.")
-
-
- ##Authentication part
- user = authenticate(username = u_name, password = pwd)
- if not user:
- raise forms.ValidationError("Application Number or Registration Number doesn't match.")
- return user
-
-
-class UserDetailsForm(forms.Form):
-
- def __init__(self, user, *args, **kwargs):
- self.user = user
- super(UserDetailsForm, self).__init__(*args, **kwargs)
-
- email = forms.EmailField(label="Email Address",
- help_text="Enter a valid email id if you have any.")
- phone_number = forms.IntegerField(label="Phone number",
- help_text="10 digit number with code")
-
-
- def clean_phone_number(self):
- pno = self.cleaned_data['phone_number']
- if str(pno).strip(digits) or len(str(pno)) != 10:
- raise forms.ValidationError("Not a valid phone number")
- return pno
-
- def save(self):
- cleaned_data = self.cleaned_data
- user_profile = self.user.get_profile()
-
- user_profile.secondary_email = self.cleaned_data['email']
- user_profile.phone_number = self.cleaned_data['phone_number']
-
- user_profile.save()
-
-