Skip to content

Commit 84e5abd

Browse files
committed
in_time logic added
1 parent 1181861 commit 84e5abd

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

quiz/models.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
from __future__ import unicode_literals
22
import re
33
import json
4+
from datetime import datetime, timedelta
45

56
from django.db import models
67
from django.core.exceptions import ValidationError, ImproperlyConfigured
@@ -587,3 +588,6 @@ class Meta:
587588

588589
def __str__(self):
589590
return self.content
591+
592+
def check_in_time(self):
593+
return (self.question_take_time + timedelta(seconds=self.seconds_to_answer)) > datetime.now()

quiz/views.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import random
2+
from datetime import datetime
23

34
from django.contrib.auth.decorators import login_required, permission_required
45
from django.core.exceptions import PermissionDenied
@@ -157,6 +158,8 @@ def dispatch(self, request, *args, **kwargs):
157158
def get_form(self, form_class):
158159
if self.logged_in_user:
159160
self.question = self.sitting.get_first_question()
161+
self.question.question_take_time = datetime.now()
162+
self.question.save()
160163
self.progress = self.sitting.progress()
161164
else:
162165
self.question = self.anon_next_question()
@@ -201,8 +204,9 @@ def form_valid_user(self, form):
201204
guess = form.cleaned_data['answers']
202205
is_correct = self.question.check_if_correct(guess)
203206
# HERE FIX
207+
is_in_time = self.question.check_in_time()
204208

205-
if is_correct is True:
209+
if is_correct and is_in_time:
206210
self.sitting.add_to_score(1)
207211
progress.update_score(self.question, 1, 1)
208212
else:
@@ -212,6 +216,7 @@ def form_valid_user(self, form):
212216
if self.quiz.answers_at_end is not True:
213217
self.previous = {'previous_answer': guess,
214218
'previous_outcome': is_correct,
219+
'previous_in_time': is_in_time,
215220
'previous_question': self.question,
216221
'answers': self.question.get_answers(),
217222
'question_type': {self.question

0 commit comments

Comments
 (0)