Skip to content

Commit d590c34

Browse files
Change jury rejudging pages to use external IDs instead of internal IDs
Part of #3024
1 parent 6702b9c commit d590c34

File tree

2 files changed

+10
-4
lines changed

2 files changed

+10
-4
lines changed

webapp/src/Controller/Jury/RejudgingController.php

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -807,10 +807,10 @@ private function generateFlashMessagesForSkippedJudgings(array $skipped): void
807807
/** @var Judging $judging */
808808
foreach ($skipped as $judging) {
809809
$submission = $judging->getSubmission();
810-
$submitid = $submission->getSubmitid();
810+
$submitid = $submission->getExternalid();
811811
$rejudgingid = $submission->getRejudging()->getRejudgingid();
812812
$msg = sprintf(
813-
'Skipping submission s%d since it is ' .
813+
'Skipping submission %s since it is ' .
814814
'already part of rejudging r%d.',
815815
$submitid,
816816
$rejudgingid
@@ -840,7 +840,7 @@ private function getStats(Rejudging $rejudging): array
840840
->leftJoin('j.rejudging', 'r')
841841
->leftJoin('j.submission', 's')
842842
->leftJoin('jt.judgehost', 'jh')
843-
->select('r.rejudgingid, j.judgingid', 's.submitid', 'jh.hostname', 'j.result',
843+
->select('r.rejudgingid, j.judgingid', 's.externalid as submitid', 'jh.hostname', 'j.result',
844844
'AVG(jr.runtime) AS runtime_avg', 'COUNT(jr.runtime) AS ntestcases',
845845
'(j.endtime - j.starttime) AS duration'
846846
)
@@ -899,7 +899,8 @@ private function getStats(Rejudging $rejudging): array
899899
->select('t.ranknumber', 'MAX(jr.runtime) - MIN(jr.runtime) AS spread')
900900
->leftJoin('jr.judging', 'j')
901901
->leftJoin('jr.testcase', 't')
902-
->andWhere('j.submission = :submitid')
902+
->leftJoin('j.submission', 's')
903+
->andWhere('s.externalid = :submitid')
903904
->setParameter('submitid', $submitid)
904905
->groupBy('jr.testcase')
905906
->getQuery()

webapp/src/Form/Type/RejudgingType.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ public function buildForm(FormBuilderInterface $builder, array $options): void
5353
'required' => false,
5454
'multiple' => true,
5555
'choice_label' => 'name',
56+
'choice_value' => 'externalid',
5657
'query_builder' => fn(EntityRepository $er) => $er
5758
->createQueryBuilder('c')
5859
->where('c.enabled = 1')
@@ -64,6 +65,7 @@ public function buildForm(FormBuilderInterface $builder, array $options): void
6465
'class' => Problem::class,
6566
'required' => false,
6667
'choice_label' => 'name',
68+
'choice_value' => 'externalid',
6769
'choices' => [],
6870
]);
6971
$builder->add('languages', EntityType::class, [
@@ -72,6 +74,7 @@ public function buildForm(FormBuilderInterface $builder, array $options): void
7274
'class' => Language::class,
7375
'required' => false,
7476
'choice_label' => 'name',
77+
'choice_value' => 'externalid',
7578
'query_builder' => fn(EntityRepository $er) => $er
7679
->createQueryBuilder('l')
7780
->where('l.allowSubmit = 1')
@@ -83,6 +86,7 @@ public function buildForm(FormBuilderInterface $builder, array $options): void
8386
'class' => Team::class,
8487
'required' => false,
8588
'choice_label' => 'name',
89+
'choice_value' => 'externalid',
8690
'choices' => [],
8791
]);
8892
$builder->add('users', EntityType::class, [
@@ -91,6 +95,7 @@ public function buildForm(FormBuilderInterface $builder, array $options): void
9195
'required' => false,
9296
'multiple' => true,
9397
'choice_label' => 'name',
98+
'choice_value' => 'externalid',
9499
'query_builder' => fn(EntityRepository $er) => $er
95100
->createQueryBuilder('u')
96101
->where('u.enabled = 1')

0 commit comments

Comments
 (0)