Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 979449f

Browse files
committedApr 7, 2024·
Add submissions info to monitoring page
* Number of submission of every kind
1 parent 6077a74 commit 979449f

File tree

3 files changed

+34
-3
lines changed

3 files changed

+34
-3
lines changed
 
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{% load i18n pagination_tags %}
2+
{% if rounds_times %}
3+
<div class="table-responsive-md">
4+
<h4> {% trans "Submission types" %} </h4>
5+
<table class="table table-sm table-bordered">
6+
<thead>
7+
<tr>
8+
<th> {% trans "Kind" %} </th>
9+
<th> {% trans "Count" %} </th>
10+
</tr>
11+
</thead>
12+
<tbody>
13+
{% for submission_info in submissions_info %}
14+
<tr>
15+
<td>{{ submission_info.kind }}</td>
16+
<td>{{ submission_info.total }}</td>
17+
</tr>
18+
{% endfor %}
19+
</tbody>
20+
</table>
21+
</div>
22+
{% endif %}

Diff for: ‎oioioi/statistics/templates/statistics/monitoring.html

+3
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@
1010
<div class="col col-sm">
1111
{% include "statistics/_general_info.html" %}
1212
</div>
13+
<div class="col col-sm">
14+
{% include "statistics/_submissions_info.html" %}
15+
</div>
1316
<div class="col col-sm">
1417
{% include "statistics/_attachments_info.html" %}
1518
</div>

Diff for: ‎oioioi/statistics/views.py

+9-3
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
from pprint import pprint
33

44
from django.core.exceptions import PermissionDenied
5+
from django.db.models import Count
56
from django.http import Http404
67
from django.template.response import TemplateResponse
78
from django.urls import reverse
@@ -11,7 +12,8 @@
1112
from oioioi.base.menu import menu_registry
1213
from oioioi.base.permissions import enforce_condition
1314
from oioioi.contests.menu import contest_admin_menu_registry
14-
from oioioi.contests.models import ProblemInstance, ContestPermission, contest_permissions, ContestAttachment
15+
from oioioi.contests.models import ProblemInstance, ContestPermission, contest_permissions, ContestAttachment, \
16+
Submission
1517
from oioioi.contests.utils import (
1618
can_enter_contest,
1719
contest_exists,
@@ -169,14 +171,17 @@ def monitoring_view(request):
169171

170172
attachments = ContestAttachment.objects.filter(contest_id=request.contest.id).order_by('id')
171173
for attachment in attachments:
172-
print(attachment.pub_date, cur_time)
173-
pub_date_relative = str(attachment.pub_date - cur_time)[:-7] if attachment.pub_date > cur_time else _("Published")
174+
pub_date_relative = None
175+
if attachment.pub_date:
176+
pub_date_relative = str(attachment.pub_date - cur_time)[:-7] if attachment.pub_date > cur_time else _("Published")
174177
setattr(attachment, 'pub_date_relative', pub_date_relative)
175178
unanswered_questions = (Message.objects.filter(kind='QUESTION', message=None, contest=request.contest).count())
176179
oldest_unanswered_question = (Message.objects.filter(kind='QUESTION', message=None, contest=request.contest)
177180
.order_by('pub_date').first())
178181
oldest_unanswered_question_date = oldest_unanswered_question.date if oldest_unanswered_question else None
179182

183+
submissions_info = Submission.objects.filter(problem_instance__contest=request.contest).values('kind').annotate(total=Count('kind')).order_by()
184+
180185
return TemplateResponse(
181186
request,
182187
'statistics/monitoring.html',
@@ -190,5 +195,6 @@ def monitoring_view(request):
190195
'attachments': attachments,
191196
'unanswered_questions': unanswered_questions,
192197
'oldest_unanswered_question': oldest_unanswered_question_date,
198+
'submissions_info': submissions_info
193199
},
194200
)

0 commit comments

Comments
 (0)
Please sign in to comment.