Skip to content

Commit 72da661

Browse files
committed
Warn when problem/language is disabled on submission page.
1 parent e8cc04d commit 72da661

File tree

2 files changed

+33
-0
lines changed

2 files changed

+33
-0
lines changed

webapp/src/Controller/Jury/SubmissionController.php

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,16 @@ public function indexAction(
118118
/** @var Submission[] $submissions */
119119
[$submissions, $submissionCounts] =
120120
$this->submissionService->getSubmissionList($contests, $restrictions, $limit);
121+
$disabledProblems = [];
122+
$disabledLangs = [];
123+
foreach ($submissions as $submission) {
124+
if (!$submission->getContestProblem()->getAllowJudge()) {
125+
$disabledProblems[$submission->getProblemId()] = $submission->getProblem()->getName();
126+
}
127+
if (!$submission->getLanguage()->getAllowJudge()) {
128+
$disabledLangs[$submission->getLanguage()->getLangid()] = $submission->getLanguage()->getName();
129+
}
130+
}
121131

122132
// Load preselected filters
123133
$filters = $this->dj->jsonDecode((string)$this->dj->getCookie('domjudge_submissionsfilter') ?: '[]');
@@ -138,6 +148,8 @@ public function indexAction(
138148
'showExternalResult' => $this->config->get('data_source') ==
139149
DOMJudgeService::DATA_SOURCE_CONFIGURATION_AND_LIVE_EXTERNAL,
140150
'showTestcases' => count($submissions) <= $latestCount,
151+
'disabledProbs' => $disabledProblems,
152+
'disabledLangs' => $disabledLangs,
141153
];
142154

143155
// For ajax requests, only return the submission list partial.

webapp/templates/jury/submissions.html.twig

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,27 @@
3737
</div>
3838
</div>
3939

40+
{% if disabledLangs %}
41+
<div class="alert alert-danger">
42+
The following languages are currently not allowed to be judged:
43+
<ul>
44+
{% for id, name in disabledLangs %}
45+
<li>{{ name }}</li>
46+
{% endfor %}
47+
</ul>
48+
</div>
49+
{% endif %}
50+
{% if disabledProbs %}
51+
<div class="alert alert-danger">
52+
The following problems are currently not allowed to be judged:
53+
<ul>
54+
{% for id, name in disabledProbs %}
55+
<li>{{ name }}</li>
56+
{% endfor %}
57+
</ul>
58+
</div>
59+
{% endif %}
60+
4061
<div data-ajax-refresh-target data-ajax-refresh-after="process_submissions_filter">
4162
{%- include 'jury/partials/submission_list.html.twig' %}
4263
</div>

0 commit comments

Comments
 (0)