diff --git a/src/Controller/SortieController.php b/src/Controller/SortieController.php index 54539a0..45f8ccb 100644 --- a/src/Controller/SortieController.php +++ b/src/Controller/SortieController.php @@ -54,7 +54,7 @@ class SortieController extends AbstractController } // Définir les relations et l'état initial - $etat = $etatRepository->findOneBy(['libelle' => 'Créée']); + $etat = $etatRepository->findOneBy(['libelle' => 'Ouverte']); if (!$etat) { $this->addFlash('error', 'Erreur interne : état introuvable.'); return $this->redirectToRoute('sortie_create'); @@ -100,10 +100,12 @@ class SortieController extends AbstractController public function inscription( string $id, EntityManagerInterface $entityManager, - TokenStorageInterface $tokenStorage + TokenStorageInterface $tokenStorage, + ParticipantRepository $participantRepository, ): Response { $userConnect = $tokenStorage->getToken()?->getUser(); - if (!$userConnect) { + $participant = $participantRepository->find($userConnect->getIdParticipant()); + if (!$participant) { $this->addFlash('error', 'Vous devez être connecté pour vous inscrire.'); return $this->redirectToRoute('app_login'); } @@ -117,14 +119,14 @@ class SortieController extends AbstractController // Conditions supplémentaires pour l'inscription if ($sortie->getEtat()->getLibelle() !== 'Ouverte') { $this->addFlash('error', 'Cette sortie n\'est pas ouverte aux inscriptions.'); - } elseif ($sortie->getParticipants()->contains($userConnect)) { + } elseif ($sortie->getParticipants()->contains($participant)) { $this->addFlash('error', 'Vous êtes déjà inscrit à cette sortie.'); } elseif ($sortie->getParticipants()->count() >= $sortie->getNbInscriptionsMax()) { $this->addFlash('error', 'Cette sortie est complète.'); } elseif ($sortie->getDateLimiteInscription() < new DateTime()) { $this->addFlash('error', "La date limite d'inscription est dépassée"); } else { - $sortie->addParticipant($userConnect); + $sortie->addParticipant($participant); $entityManager->persist($sortie); $entityManager->flush(); $this->addFlash('success', 'Votre inscription a été validée.'); diff --git a/src/DataFixtures/EtatFixtures.php b/src/DataFixtures/EtatFixtures.php index 30000a3..1af3717 100644 --- a/src/DataFixtures/EtatFixtures.php +++ b/src/DataFixtures/EtatFixtures.php @@ -12,7 +12,6 @@ class EtatFixtures extends Fixture public function load(ObjectManager $manager): void { $etats = [ - 'Créée', 'Ouverte', 'Clôturée', 'En cours', diff --git a/src/Entity/Participant.php b/src/Entity/Participant.php index ebb675b..40bf212 100644 --- a/src/Entity/Participant.php +++ b/src/Entity/Participant.php @@ -298,7 +298,7 @@ class Participant implements UserInterface, PasswordAuthenticatedUserInterface { if (!$this->sortiesParticipants->contains($sortiesParticipant)) { $this->sortiesParticipants->add($sortiesParticipant); - $sortiesParticipant->addParticipant($this); + $sortiesParticipant->addParticipant($this); // Synchronise avec Sortie } return $this; diff --git a/templates/sortie/view.html.twig b/templates/sortie/view.html.twig index 5a856d4..7a28e22 100644 --- a/templates/sortie/view.html.twig +++ b/templates/sortie/view.html.twig @@ -92,14 +92,6 @@ {% endif %} - -{# {% if app.user %}#} -{#