diff options
Diffstat (limited to 'testapp/exam/forms.py')
-rw-r--r-- | testapp/exam/forms.py | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/testapp/exam/forms.py b/testapp/exam/forms.py index 20ed7b4..124d79f 100644 --- a/testapp/exam/forms.py +++ b/testapp/exam/forms.py @@ -237,5 +237,22 @@ class RandomQuestionForm(forms.Form): (choices=(('select', 'Select Marks'),))) shuffle_questions = forms.BooleanField(required=False) + +class QuestionFilterForm(forms.Form): + def __init__(self, *args, **kwargs): + super(QuestionFilterForm, self).__init__(*args, **kwargs) + questions = Question.objects.all() + points_list = questions.values_list('points', flat=True).distinct() + points_options = [('select', 'Select Marks')] + points_options.extend([(point, point) for point in points_list]) + self.fields['marks'] = forms.FloatField(widget=forms.Select\ + (choices=points_options)) + + language = forms.CharField(max_length=8, widget=forms.Select\ + (choices=languages)) + question_type = forms.CharField(max_length=8, widget=forms.Select\ + (choices=question_types)) + + TestCaseFormSet = inlineformset_factory(Question, TestCase,\ can_order=False, can_delete=False, extra=1) |