From e92ee143a7187c91ab59da442eacfd34c917db7e Mon Sep 17 00:00:00 2001 From: as6325400 Date: Sun, 27 Oct 2024 16:44:06 +0800 Subject: [PATCH] Add a warning log when clarifications are claimed --- .../Jury/ClarificationController.php | 19 +++++++++++++ .../partials/clarification_form.html.twig | 27 +++++++++++++++++++ 2 files changed, 46 insertions(+) diff --git a/webapp/src/Controller/Jury/ClarificationController.php b/webapp/src/Controller/Jury/ClarificationController.php index a31a3000ee..93d96ebec2 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()->getUserIdentifier(); + + $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) }} + +