diff --git a/webapp/src/Controller/Jury/ClarificationController.php b/webapp/src/Controller/Jury/ClarificationController.php index a31a3000ee..5ccf552fc1 100644 --- a/webapp/src/Controller/Jury/ClarificationController.php +++ b/webapp/src/Controller/Jury/ClarificationController.php @@ -346,6 +346,25 @@ public function changeQueueAction(Request $request, int $clarId): Response return $this->redirectToRoute('jury_clarification', ['id' => $clarId]); } + #[Route('/check-claimed', name: 'check_if_claimed', methods: ['GET'])] + public function checkIfClaimed(Request $request): Response + { + $clarid = $request->query->get('clarid'); + $currentUserName = $this->getUser()->getUsername(); + + $queryBuilder = $this->em->createQueryBuilder() + ->select('clar.jury_member') + ->from(Clarification::class, 'clar') + ->where('clar.clarid = :clarid') + ->setParameter('clarid', $clarid); + $claimedJuryMember = $queryBuilder->getQuery()->getSingleResult(); + + return $this->json([ + 'isClaimedByOther' => $claimedJuryMember['jury_member'] !== null && $claimedJuryMember['jury_member'] !== $currentUserName, + 'ClaimedBy' => $claimedJuryMember['jury_member'], + ]); + } + protected function processSubmittedClarification( FormInterface $form, ?Clarification $inReplTo = null diff --git a/webapp/templates/jury/partials/clarification_form.html.twig b/webapp/templates/jury/partials/clarification_form.html.twig index ca2423d258..edc573d937 100644 --- a/webapp/templates/jury/partials/clarification_form.html.twig +++ b/webapp/templates/jury/partials/clarification_form.html.twig @@ -33,3 +33,30 @@ {{ form_end(form) }} + +