diff options
author | ankitjavalkar | 2020-05-27 21:52:07 +0530 |
---|---|---|
committer | GitHub | 2020-05-27 21:52:07 +0530 |
commit | 73dc8f6820c6c86fd8e70a68456ca2e541801bde (patch) | |
tree | 8b3399aace86cddc19818dece0040420acc49da5 | |
parent | 372a7c56adaeabee374f9fd9268f1ebf0e082265 (diff) | |
parent | b3b450f7c575f9cf8ed9a8b12e495f4be0adc143 (diff) | |
download | online_test-73dc8f6820c6c86fd8e70a68456ca2e541801bde.tar.gz online_test-73dc8f6820c6c86fd8e70a68456ca2e541801bde.tar.bz2 online_test-73dc8f6820c6c86fd8e70a68456ca2e541801bde.zip |
Merge pull request #715 from ankitjavalkar/fix-timer-bug
Check if attempts are allowed and spare time is available before answer is checked
-rw-r--r-- | yaksh/test_views.py | 4 | ||||
-rw-r--r-- | yaksh/views.py | 6 |
2 files changed, 8 insertions, 2 deletions
diff --git a/yaksh/test_views.py b/yaksh/test_views.py index 24750e3..a7ccac2 100644 --- a/yaksh/test_views.py +++ b/yaksh/test_views.py @@ -5496,8 +5496,8 @@ class TestQuestionPaper(TestCase): self.answerpaper = AnswerPaper.objects.create( user=self.user, question_paper=self.question_paper, attempt_number=1, - start_time=datetime(2014, 10, 9, 10, 8, 15, 0, tzone), - end_time=datetime(2014, 10, 9, 10, 15, 15, 0, tzone), + start_time=timezone.now() - timezone.timedelta(minutes = 10), + end_time=timezone.now() - timezone.timedelta(minutes = 1), user_ip="127.0.0.1", status="inprogress", passed=False, percent=0, marks_obtained=0, course=self.course ) diff --git a/yaksh/views.py b/yaksh/views.py index ca827ac..3adb536 100644 --- a/yaksh/views.py +++ b/yaksh/views.py @@ -743,6 +743,12 @@ def check(request, q_id, attempt_num=None, questionpaper_id=None, if request.method == 'POST': # Add the answer submitted, regardless of it being correct or not. + if (paper.time_left() <= -10 or paper.status == "completed"): + reason = 'Your time is up!' + return complete( + request, reason, paper.attempt_number, paper.question_paper.id, + course_id, module_id=module_id + ) if current_question.type == 'mcq': user_answer = request.POST.get('answer') elif current_question.type == 'integer': |