diff options
author | Prabhu Ramachandran | 2015-04-13 00:53:34 +0530 |
---|---|---|
committer | Prabhu Ramachandran | 2015-04-13 00:53:34 +0530 |
commit | 7f52ecfdbf27d3e2bf6f481c3f48a52f1a1a639a (patch) | |
tree | f6bbe837efd7a376fee0ee11befc84ee159eecc8 /testapp/exam/forms.py | |
parent | 28415b148617057674d85aee9a2d3aaac36bf0d2 (diff) | |
parent | 1e26be51bc269fc3884d75ace33bfd6c4627547f (diff) | |
download | online_test-7f52ecfdbf27d3e2bf6f481c3f48a52f1a1a639a.tar.gz online_test-7f52ecfdbf27d3e2bf6f481c3f48a52f1a1a639a.tar.bz2 online_test-7f52ecfdbf27d3e2bf6f481c3f48a52f1a1a639a.zip |
Merge pull request #42 from prathamesh920/additional_features
Additional features
Diffstat (limited to 'testapp/exam/forms.py')
-rw-r--r-- | testapp/exam/forms.py | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/testapp/exam/forms.py b/testapp/exam/forms.py index f04fdb3..1f12a3b 100644 --- a/testapp/exam/forms.py +++ b/testapp/exam/forms.py @@ -27,11 +27,17 @@ question_types = ( ("mcq", "Multiple Choice"), ("mcc", "Multiple Correct Choices"), ("code", "Code"), + ("upload", "Assignment Upload"), ) UNAME_CHARS = letters + "._" + digits PWD_CHARS = letters + punctuation + digits +attempts = [(i, i) for i in range(1, 6)] +attempts.append((-1, 'Infinite')) +days_between_attempts = ((j, j) for j in range(401)) + + class UserRegisterForm(forms.Form): """A Class to create new form for User's Registration. It has the various fields and functions required to register @@ -131,7 +137,7 @@ class QuizForm(forms.Form): super(QuizForm, self).__init__(*args, **kwargs) quizzes = [('', 'Select a prerequisite quiz')] quizzes = quizzes + \ - list(Quiz.objects.values_list('id','description')) + list(Quiz.objects.values_list('id', 'description')) self.fields['prerequisite'] = forms.CharField(required=False, widget=forms.Select(choices=quizzes)) @@ -143,6 +149,10 @@ class QuizForm(forms.Form): pass_criteria = forms.FloatField(initial=40, help_text='Will be taken as percentage') language = forms.CharField(widget=forms.Select(choices=languages)) + attempts_allowed = forms.IntegerField(widget=forms.Select(choices=attempts)) + time_between_attempts = forms.IntegerField\ + (widget=forms.Select(choices=days_between_attempts), + help_text='Will be in days') def save(self): start_date = self.cleaned_data["start_date"] @@ -152,6 +162,8 @@ class QuizForm(forms.Form): pass_criteria = self.cleaned_data["pass_criteria"] language = self.cleaned_data["language"] prerequisite = self.cleaned_data["prerequisite"] + attempts_allowed = self.cleaned_data["attempts_allowed"] + time_between_attempts = self.cleaned_data["time_between_attempts"] new_quiz = Quiz() new_quiz.start_date = start_date new_quiz.duration = duration @@ -160,6 +172,8 @@ class QuizForm(forms.Form): new_quiz.pass_criteria = pass_criteria new_quiz.language = language new_quiz.prerequisite_id = prerequisite + new_quiz.attempts_allowed = attempts_allowed + new_quiz.time_between_attempts = time_between_attempts new_quiz.save() |