diff --git a/webapp/src/Controller/API/BalloonController.php b/webapp/src/Controller/API/BalloonController.php index 62e1bce76e..57f7eadccb 100644 --- a/webapp/src/Controller/API/BalloonController.php +++ b/webapp/src/Controller/API/BalloonController.php @@ -3,6 +3,7 @@ namespace App\Controller\API; use App\Entity\Contest; +use App\Entity\Team; use App\Service\BalloonService; use Doctrine\ORM\NonUniqueResultException; use Doctrine\ORM\QueryBuilder; @@ -52,7 +53,14 @@ public function listAction( ): array { /** @var Contest $contest */ $contest = $this->em->getRepository(Contest::class)->find($this->getContestId($request)); - return array_column($balloonService->collectBalloonTable($contest, $todo), 'data'); + $balloonsData = $balloonService->collectBalloonTable($contest, $todo); + foreach ($balloonsData as &$b) { + /** @var Team $team */ + $team = $b['data']['team']; + $b['data']['team'] = "t" . $team->getTeamid() . ": " . $team->getEffectiveName(); + } + unset($b); + return array_column($balloonsData, 'data'); } /** diff --git a/webapp/src/Controller/Jury/BalloonController.php b/webapp/src/Controller/Jury/BalloonController.php index 1b83452734..5c1b795539 100644 --- a/webapp/src/Controller/Jury/BalloonController.php +++ b/webapp/src/Controller/Jury/BalloonController.php @@ -91,7 +91,7 @@ public function indexAction(BalloonService $balloonService): Response if (isset($filters['location-str'])) { /** @var Team[] $filteredLocations */ $filteredLocations = $this->em->createQueryBuilder() - ->from(Team::class, 'a') + ->from(Team::class, 'a', 'a.room') ->select('a') ->where('a.room IN (:rooms)') ->setParameter('rooms', $filters['location-str']) diff --git a/webapp/src/Service/BalloonService.php b/webapp/src/Service/BalloonService.php index 6785cfffab..3a824eb056 100644 --- a/webapp/src/Service/BalloonService.php +++ b/webapp/src/Service/BalloonService.php @@ -92,7 +92,7 @@ public function collectBalloonTable(Contest $contest, bool $todo = false): array $query = $em->createQueryBuilder() ->select('b', 's.submittime', 'p.probid', - 't.teamid', 't.name AS teamname', 't.room', + 't.teamid', 's', 't', 't.room', 'c.categoryid AS categoryid', 'c.name AS catname', 'co.cid', 'co.shortname', 'cp.shortname AS probshortname', 'cp.color', @@ -157,7 +157,7 @@ public function collectBalloonTable(Contest $contest, bool $todo = false): array $balloondata['time'] = $stime; $balloondata['problem'] = $balloonsData['probshortname']; $balloondata['contestproblem'] = $balloon->getSubmission()->getContestProblem(); - $balloondata['team'] = "t" . $balloonsData['teamid'] . ": " . $balloonsData['teamname']; + $balloondata['team'] = $balloon->getSubmission()->getTeam(); $balloondata['teamid'] = $balloonsData['teamid']; $balloondata['location'] = $balloonsData['room']; $balloondata['affiliation'] = $balloonsData['affilshort']; diff --git a/webapp/templates/jury/partials/balloon_list.html.twig b/webapp/templates/jury/partials/balloon_list.html.twig index c1a0a7a0de..e48b61395b 100644 --- a/webapp/templates/jury/partials/balloon_list.html.twig +++ b/webapp/templates/jury/partials/balloon_list.html.twig @@ -35,7 +35,10 @@ {{ balloon.data.balloonid }} {{ balloon.data.time | printtime }} {{ balloon.data.contestproblem | problemBadge }} - {{ balloon.data.team | u.truncate(teamname_max_length, '…') }} + + {{ balloon.data.team | entityIdBadge('t') }} + {{ balloon.data.team.effectiveName | u.truncate(teamname_max_length, '…') }} + {{ balloon.data.affiliation }} {{ balloon.data.location }} {{ balloon.data.category }}