denyAccessUnlessGranted('ROLE_STAFF'); // La personne connectée est-elle un MJ ? $gamemaster = null; $user = $this->getUser(); if (in_array('ROLE_STAFF', $user->GetRoles())) { // C'est un membre du staff, on check son profil MJ $gamemaster = $user->getLinkToGamemaster(); if (!$gamemaster) { // Mais c'est pas un MJ $this->addFlash('danger', 'Seuls les MJ de l\'équipe peuvent préparer un événement'); return $this->redirectToRoute('app_main'); } } // Tous événement même non publiés à venir $events = $repository->findEventsToPrepare($gamemaster); if (count($events) < 1) { // Aucun événement à préparer $this->addFlash('danger', 'Aucun événement en cours de préparation pour le moment.'); return $this->redirectToRoute('app_main'); } $event = $events[0]; return $this->render('prepare/prepare.html.twig', [ 'event' => $event, 'events' => $events ]); } #[Route('/prepare/{id}', name: 'app_prepare_planning', requirements: ['id' => Requirement::UUID_V7], methods: ['GET', 'POST'])] public function preparePlanning(?Event $event, EventRepository $repository): Response { // Si pas d'événement, ça dégage if (!$event) { $this->addFlash('danger', 'Événement inconnu !'); return $this->redirectToRoute('app_prepare'); } // On controle les droits d'accès sur l'événement $this->denyAccessUnlessGranted(EventAccessVoter::ACCESS_EVENT, $event); // La personne connectée est-elle un MJ ? $gamemaster = null; $user = $this->getUser(); if (in_array('ROLE_STAFF', $user->GetRoles())) { // C'est un membre du staff, on check son profil MJ $gamemaster = $user->getLinkToGamemaster(); if (!$gamemaster) { // Mais c'est pas un MJ $this->addFlash('danger', 'Seuls les MJ de l\'équipe peuvent préparer un événement'); return $this->redirectToRoute('app_main'); } } // Tous événement même non publiés à venir $events = $repository->findEventsToPrepare($gamemaster); if (count($events) < 1) { // Aucun événement à préparer $this->addFlash('danger', 'Aucun événement en cours de préparation pour le moment.'); return $this->redirectToRoute('app_main'); } return $this->render('prepare/prepare.html.twig', [ 'event' => $event, 'events' => $events ]); } }