diff options
Diffstat (limited to 'testapp/exam/forms.py')
-rw-r--r-- | testapp/exam/forms.py | 98 |
1 files changed, 43 insertions, 55 deletions
diff --git a/testapp/exam/forms.py b/testapp/exam/forms.py index a6844bb..f48a674 100644 --- a/testapp/exam/forms.py +++ b/testapp/exam/forms.py @@ -24,32 +24,23 @@ PWD_CHARS = letters + punctuation + digits class UserRegisterForm(forms.Form): """A Class to create new form for User's Registration. It has the various fields and functions required to register a new user to the system""" - username = forms.CharField(max_length=30, - help_text='Letters, digits, period and underscores only.') + username = forms.CharField(max_length=30, help_text='Letters, digits, period and underscores only.') email = forms.EmailField() - password = forms.CharField(max_length=30, - widget=forms.PasswordInput()) - confirm_password = forms.CharField(max_length=30, - widget=forms.PasswordInput()) + password = forms.CharField(max_length=30, widget=forms.PasswordInput()) + confirm_password = forms.CharField(max_length=30, widget=forms.PasswordInput()) first_name = forms.CharField(max_length=30) last_name = forms.CharField(max_length=30) - roll_number = forms.CharField(max_length=30, - help_text="Use a dummy if you don't have one.") - institute = forms.CharField(max_length=128, - help_text='Institute/Organization') - department = forms.CharField(max_length=64, - help_text='Department you work/study at') - position = forms.CharField(max_length=64, - help_text='Student/Faculty/Researcher/Industry/etc.') + roll_number = forms.CharField(max_length=30, help_text="Use a dummy if you don't have one.") + institute = forms.CharField(max_length=128, help_text='Institute/Organization') + department = forms.CharField(max_length=64, help_text='Department you work/study at') + position = forms.CharField(max_length=64, help_text='Student/Faculty/Researcher/Industry/etc.') def clean_username(self): u_name = self.cleaned_data["username"] - if u_name.strip(UNAME_CHARS): msg = "Only letters, digits, period and underscore characters are "\ "allowed in username" raise forms.ValidationError(msg) - try: User.objects.get(username__exact = u_name) raise forms.ValidationError("Username already exists.") @@ -100,20 +91,18 @@ class UserLoginForm(forms.Form): def clean(self): super(UserLoginForm, self).clean() - try: - u_name, pwd = self.cleaned_data["username"], self.cleaned_data["password"] - user = authenticate(username = u_name, password = pwd) - except Exception: - raise forms.ValidationError("Username and/or Password is not entered") - + try: + u_name, pwd = self.cleaned_data["username"], self.cleaned_data["password"] + user = authenticate(username = u_name, password = pwd) + except Exception: + raise forms.ValidationError("Username and/or Password is not entered") if not user: raise forms.ValidationError("Invalid username/password") - return user class QuizForm(forms.Form): """Creates a form to add or edit a Quiz. It has the related fields and functions required.""" - + start_date = forms.DateField(initial=datetime.date.today) duration = forms.IntegerField() active = forms.BooleanField(required = False) @@ -124,43 +113,42 @@ class QuizForm(forms.Form): start_date = self.cleaned_data["start_date"] duration = self.cleaned_data["duration"] active = self.cleaned_data['active'] - description = self.cleaned_data["description"] + description = self.cleaned_data["description"] - new_quiz = Quiz() - new_quiz.start_date=start_date - new_quiz.duration=duration - new_quiz.active=active - new_quiz.description=description - new_quiz.save() + new_quiz = Quiz() + new_quiz.start_date=start_date + new_quiz.duration=duration + new_quiz.active=active + new_quiz.description=description + new_quiz.save() class QuestionForm(forms.Form): - """Creates a form to add or edit a Question. It has the related fields and functions required.""" - - summary = forms.CharField(widget = forms.Textarea(attrs={'cols': 40, 'rows': 1})) - description = forms.CharField(widget = forms.Textarea(attrs={'cols': 40, 'rows': 1})) - points = forms.FloatField() - test = forms.CharField(widget = forms.Textarea(attrs={'cols': 40, 'rows': 1})) - options = forms.CharField(widget = forms.Textarea(attrs={'cols': 40, 'rows': 1}),required=False) - type = forms.CharField(max_length=8, widget=forms.Select(choices=QUESTION_TYPE_CHOICES)) - active = forms.BooleanField(required=False) - tags = TagField(widget=TagAutocomplete(),required=False) - - def save(self): + """Creates a form to add or edit a Question. It has the related fields and functions required.""" + + summary = forms.CharField(widget = forms.Textarea(attrs={'cols': 40, 'rows': 1})) + description = forms.CharField(widget = forms.Textarea(attrs={'cols': 40, 'rows': 1})) + points = forms.FloatField() + test = forms.CharField(widget = forms.Textarea(attrs={'cols': 40, 'rows': 1})) + options = forms.CharField(widget = forms.Textarea(attrs={'cols': 40, 'rows': 1}),required=False) + type = forms.CharField(max_length=8, widget=forms.Select(choices=QUESTION_TYPE_CHOICES)) + active = forms.BooleanField(required=False) + tags = TagField(widget=TagAutocomplete(),required=False) + + def save(self): summary = self.cleaned_data["summary"] description = self.cleaned_data["description"] points = self.cleaned_data['points'] - test = self.cleaned_data["test"] + test = self.cleaned_data["test"] options = self.cleaned_data['options'] - type = self.cleaned_data["type"] - active = self.cleaned_data["active"] + type = self.cleaned_data["type"] + active = self.cleaned_data["active"] new_question = Question() - new_question.summary = summary - new_question.description = description - new_question.points = points - new_question.test = test - new_question.options = options - new_question.type = type - new_question.active = active - new_question.save() - + new_question.summary = summary + new_question.description = description + new_question.points = points + new_question.test = test + new_question.options = options + new_question.type = type + new_question.active = active + new_question.save() |