Skip to content

Commit e761acb

Browse files
committed
Use correct languages in problemset page
Try to already limit the languages on a problem before submitting.
1 parent 74a851b commit e761acb

File tree

3 files changed

+11
-2
lines changed

3 files changed

+11
-2
lines changed

webapp/src/Controller/Team/SubmissionController.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,9 +57,10 @@ public function createAction(Request $request, ?Problem $problem = null): Respon
5757
$user = $this->dj->getUser();
5858
$team = $user->getTeam();
5959
$contest = $this->dj->getCurrentContest($user->getTeam()->getTeamid());
60-
$data = [];
60+
$data = ['languages' => []];
6161
if ($problem !== null) {
6262
$data['problem'] = $problem;
63+
$data['languages'] = $problem->getLanguages()->toArray();
6364
}
6465
$form = $this->formFactory
6566
->createBuilder(SubmitProblemType::class, $data)

webapp/src/Form/Type/SubmitProblemType.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ public function buildForm(FormBuilderInterface $builder, array $options): void
5454
];
5555
$builder->add('problem', EntityType::class, $problemConfig);
5656

57-
$languages = $this->dj->getAllowedLanguagesForContest($contest);
57+
$languages = empty($options['data']['languages']) ? $this->dj->getAllowedLanguagesForContest($contest) : $options['data']['languages'];
5858
$builder->add('language', EntityType::class, [
5959
'class' => Language::class,
6060
'choices' => $languages,

webapp/templates/partials/problem_list.html.twig

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,14 @@
5555
{{ ((problem.problem.memlimit | default(defaultMemoryLimit)) * 1024) | printSize }}
5656
</h4>
5757
{% endif %}
58+
{% if problem.problem.languages | length != 0 %}
59+
<h4 class="card-subtitle mb-2 text-muted">
60+
Language{% if problem.problem.languages | length > 1 %}s{% endif %}:
61+
{% for lang in problem.problem.languages %}
62+
<code>{{ lang.name }}</code>{% if not loop.last %}, {% endif %}
63+
{% endfor %}
64+
</h4>
65+
{% endif %}
5866
<h4 class="card-subtitle mb-2 text-muted">
5967
Type: {{ problem.problem.typesAsString }}
6068
</h4>

0 commit comments

Comments
 (0)