Skip to content

Commit 0d59954

Browse files
committed
leaderboard fix
1 parent 4cdbc26 commit 0d59954

File tree

3 files changed

+5
-3
lines changed

3 files changed

+5
-3
lines changed

interface/models.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,7 @@ class Answer(models.Model):
146146
ques_name = models.CharField(max_length=200, blank=True, null=True, help_text="Question name")
147147
correct = models.IntegerField(default=0, help_text="Number of correct attempts of the Question")
148148
wrong = models.IntegerField(default=0, help_text="Number of wrong attempts of the Question")
149+
score = models.IntegerField(default=0, help_text="Score of the Question")
149150
timestamp = models.DateTimeField(default=t.now, help_text="Time of submission")
150151

151152
def __str__(self):
@@ -156,7 +157,7 @@ class Contest_Score(models.Model):
156157
contest = models.ForeignKey(Contest, on_delete=models.CASCADE)
157158
coder = models.ForeignKey(Coder, on_delete=models.CASCADE)
158159
score = models.IntegerField(default=0, help_text="Score of the given user in the given contest")
159-
timestamp = models.DateTimeField(blank=True, help_text="Latest submission + penalty for leaderboard")
160+
timestamp = models.DateTimeField(blank=True, help_text="For Penalty in questions")
160161

161162
def __str__(self):
162163
return self.contest.contest_name + " " + self.coder.name

interface/serializers.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ class Meta:
5454
class AnswerSerializer(serializers.ModelSerializer):
5555
class Meta:
5656
model = Answer
57-
fields = ('ques_name', 'correct', 'wrong', 'score', 'time_out', 'timestamp')
57+
fields = ('ques_name', 'correct', 'wrong', 'score', 'timestamp')
5858

5959

6060
class EditorialSerializer(serializers.ModelSerializer):

interface/views.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,7 @@ def status(request):
142142
answer.correct += 1
143143
if contest.isOver() == False and contest.isStarted():
144144
coder_contest_score.score += question.question_score
145+
answer.score = question.question_score
145146
answer.timestamp = t.now() + timedelta(minutes=10*answer.wrong)
146147
coder_contest_score.timestamp += answer.timestamp
147148
else:
@@ -162,8 +163,8 @@ def status(request):
162163
def leaderboard(request):
163164
coder_array = []
164165
rank_cnt = 1
165-
time = Contest_Score.objects.filter(contest=contest).order_by('-score', 'timestamp')[0].timestamp
166166
contest = Contest.objects.get(contest_code=request.GET['contest_id'])
167+
time = Contest_Score.objects.filter(contest=contest).order_by('-score', 'timestamp')[0].timestamp
167168
for (rank,
168169
participant) in enumerate(Contest_Score.objects.filter(contest=contest).order_by('-score', 'timestamp'),
169170
start=1):

0 commit comments

Comments
 (0)