Skip to content

Commit 19d7814

Browse files
committed
config model fixes and slight improvements in api
1 parent d2edf86 commit 19d7814

File tree

2 files changed

+23
-8
lines changed

2 files changed

+23
-8
lines changed

api/views.py

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,19 @@ class getquestion(APIView):
3434

3535
def get(self,request):
3636
player=UserScore.objects.filter(user=request.user)[0]
37-
day=config.objects.all()[0].current_day
38-
curr_question=player.current_question
39-
question=Question.objects.filter(day=day,question_no=curr_question)[0]
40-
serializer=QuestionSerializer(question)
41-
return Response(serializer.data)
37+
active=config.quiz_active(config)
38+
if active:
39+
day=config.objects.all()[0].current_day
40+
curr_question=player.current_question
41+
question=Question.objects.filter(day=day,question_no=curr_question)[0]
42+
serializer=QuestionSerializer(question)
43+
return Response(serializer.data)
44+
else:
45+
response= {
46+
"error":"quiz has ended"
47+
}
48+
return Response(response)
49+
4250
class Answer(APIView):
4351
permission_classes=(IsAuthenticated,)
4452

quiz/models.py

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
from django.db import models
22
from django.contrib.auth.models import User
33
import datetime
4+
import pytz
45

6+
utc=pytz.UTC
57
# Create your models here.
68
class Question(models.Model):
79
question=models.CharField(max_length=550)
@@ -63,10 +65,15 @@ class config(models.Model):
6365

6466
def quiz_active(self):
6567
curr_config=self.objects.all()[0]
66-
current_time=datetime.datetime.now()
67-
if current_time==curr_config[0].quiz_endtime:
68+
current_time=datetime.datetime.now().replace(tzinfo=utc)
69+
quiz_endtime=curr_config.quiz_endtime.replace(tzinfo=utc)
70+
print(curr_config.quiz_endtime)
71+
print(current_time)
72+
if current_time>quiz_endtime:
6873
curr_config.quiz_active=False
69-
74+
print(current_time>quiz_endtime)
75+
return False
76+
return True
7077
def save(self, force_insert=False, force_update=False, *args, **kwargs):
7178
players=UserScore.objects.all()
7279
for player in players:

0 commit comments

Comments
 (0)