diff --git a/src/Controller/AdminController.php b/src/Controller/AdminController.php index 7ff317d..db8b543 100644 --- a/src/Controller/AdminController.php +++ b/src/Controller/AdminController.php @@ -44,7 +44,6 @@ class AdminController extends AbstractController ]); } - //Gestion des utilisateurs #[Route('/admin/user', name: 'app_adminUser')] public function adminUser(TokenStorageInterface $tokenStorage): Response { @@ -59,68 +58,56 @@ class AdminController extends AbstractController #[Route('/admin/user/disable/{id}', name: 'app_adminUserDisable')] public function disableParticipant(string $id, ParticipantRepository $participantRepository, EntityManagerInterface $entityManager): RedirectResponse { - // Récupérer le participant à partir de l'id $participant = $participantRepository->find($id); - // Vérifier si le participant existe if (!$participant) { $this->addFlash('error', 'Le participant demandé n\'existe pas.'); - return $this->redirectToRoute('app_adminUser'); // Redirigez vers une liste ou une autre page + return $this->redirectToRoute('app_adminUser'); } - // Désactiver le participant (par exemple, définir une propriété "isActive" à false) if ($participant->isActif()){ $participant->setActif(false); }else{ $participant->setActif(true); } - // Sauvegarder la modification en base de données $entityManager->persist($participant); $entityManager->flush(); - // Ajouter un message de succès et rediriger $this->addFlash('success', 'Participant désactivé avec succès.'); return $this->redirectToRoute('app_adminUser'); } #[Route('/admin/user/delete/{id}', name: 'app_adminUserDelete')] public function deleteUser(string $id, ParticipantRepository $participantRepository, EntityManagerInterface $entityManager): RedirectResponse { - // Récupérer l'utilisateur ou le participant à partir de l'id $participant = $participantRepository->find($id); - // Vérifier si l'utilisateur existe if (!$participant) { $this->addFlash('error', 'L\'utilisateur demandé n\'existe pas.'); return $this->redirectToRoute('app_adminUser'); // Redirigez vers une liste ou une autre page } - // Supprimer l'utilisateur $entityManager->remove($participant); $entityManager->flush(); - // Ajouter un message de succès et rediriger $this->addFlash('success', 'Utilisateur supprimé avec succès.'); - return $this->redirectToRoute('app_adminUser'); // Redirigez vers la liste des utilisateurs + return $this->redirectToRoute('app_adminUser'); } #[Route('/admin/user/add', name: 'app_adminUserAdd', methods: ['POST'])] public function userAdd(Request $request, EntityManagerInterface $entityManager, MailerInterface $mailer, UrlGeneratorInterface $urlGenerator): Response { try { - // Récupérer les données envoyées par le formulaire $nom = $request->request->get('nom'); $prenom = $request->request->get('prenom'); $pseudo = $request->request->get('pseudo'); $telephone = $request->request->get('phone'); $mail = $request->request->get('mail'); - // Vérifier que les champs ne sont pas vides if (!$mail || !$pseudo) { $this->addFlash('error', 'Tous les champs sont requis.'); return $this->redirectToRoute('app_adminUser'); } - // Vérifier que le mail est valide avec une regex if (!filter_var($mail, FILTER_VALIDATE_EMAIL)) { $this->addFlash('error', 'L\'adresse e-mail n\'est pas valide.'); return $this->redirectToRoute('app_adminUser'); @@ -140,10 +127,8 @@ class AdminController extends AbstractController $entityManager->persist($participant); - // Générer un token unique $token = bin2hex(random_bytes(32)); - // Enregistrer le token dans la base de données $passwordResetToken = new PasswordResetToken(); $passwordResetToken->setToken($token) ->setEmail($participant->getEmail()) @@ -152,14 +137,12 @@ class AdminController extends AbstractController $entityManager->persist($passwordResetToken); $entityManager->flush(); - // Générer un lien de réinitialisation $resetLink = $urlGenerator->generate( 'app_password_reset', ['token' => $token], UrlGeneratorInterface::ABSOLUTE_URL ); - // Envoyer un email de notification $email = (new Email()) ->from('contact@sortir.com') ->to($participant->getEmail()) @@ -205,10 +188,8 @@ class AdminController extends AbstractController $participant->setPending(true); $em->persist($participant); - // Générer un token unique $token = bin2hex(random_bytes(32)); - // Enregistrer le token dans la base de données $passwordResetToken = new PasswordResetToken(); $passwordResetToken->setToken($token) ->setEmail($participant->getEmail()) @@ -216,14 +197,12 @@ class AdminController extends AbstractController $em->persist($passwordResetToken); - // Générer un lien de réinitialisation $resetLink = $urlGenerator->generate( 'app_password_reset', ['token' => $token], UrlGeneratorInterface::ABSOLUTE_URL ); - // Envoyer un email de notification $email = (new Email()) ->from('contact@sortir.com') ->to($participant->getEmail()) @@ -252,7 +231,6 @@ class AdminController extends AbstractController // $participants = $participantRepository->findAll(); $userList = $request->request->all('userList'); if (empty($userList)) { - // Aucun utilisateur sélectionné $this->addFlash('warning', 'Veuillez sélectionner au moins un utilisateur.'); return $this->redirectToRoute('app_adminUser'); } @@ -279,7 +257,6 @@ class AdminController extends AbstractController return $response; } - //Gestion des sites #[Route('/admin/site', name: 'app_adminSite')] public function adminSite(SiteRepository $siteRepository, TokenStorageInterface $tokenStorage): Response { @@ -295,19 +272,15 @@ class AdminController extends AbstractController public function adminSiteAdd(Request $request, EntityManagerInterface $entityManager): Response { try { - // Récupérer les données envoyées par le formulaire $nom = $request->request->get('nom'); - // Vérifier que les champs ne sont pas vides if (!$nom) { return new Response('Tous les champs sont requis.', Response::HTTP_BAD_REQUEST); } - // Créer une nouvelle entité City et définir ses propriétés $site = new Site(); $site->setNom($nom); - // Enregistrer la ville dans la base de données $entityManager->persist($site); $entityManager->flush(); $this->addFlash('success', "Site ajouté !"); @@ -320,17 +293,13 @@ class AdminController extends AbstractController #[Route('/admin/site/delete/{id}', name: 'app_adminSiteDelete')] public function adminSiteDelete(string $id, SiteRepository $siteRepository, EntityManagerInterface $entityManager): RedirectResponse { - // Récupérer la ville à supprimer $site = $siteRepository->find($id); - // Vérifier si la ville existe if (!$site) { - // Si la ville n'existe pas, rediriger avec un message d'erreur $this->addFlash('error', 'Le site demandée n\'existe pas.'); return $this->redirectToRoute('app_adminSite'); // Rediriger vers la liste des villes } - // Supprimer la ville $entityManager->remove($site); $entityManager->flush(); diff --git a/src/Controller/LoginController.php b/src/Controller/LoginController.php index 0c53bd4..216bed3 100644 --- a/src/Controller/LoginController.php +++ b/src/Controller/LoginController.php @@ -20,10 +20,8 @@ class LoginController extends AbstractController return $this->redirectToRoute('home'); // Redirection pour utilisateurs connectés } - // get the login error if there is one $error = $authenticationUtils->getLastAuthenticationError(); - // last username entered by the user $lastUsername = $authenticationUtils->getLastUsername(); $user = new Participant(); $formUser = $this->createForm(RegistrationFormType::class, $user); @@ -38,7 +36,6 @@ class LoginController extends AbstractController #[Route(path: '/logout', name: 'app_logout')] public function logout(Security $security): ?Response { -// throw new \LogicException('This method can be blank - it will be intercepted by the logout key on your firewall.'); return $security->logout(false); } } diff --git a/src/Controller/MainController.php b/src/Controller/MainController.php index f14d1d3..9323e4d 100644 --- a/src/Controller/MainController.php +++ b/src/Controller/MainController.php @@ -17,7 +17,6 @@ class MainController extends AbstractController #[Route('/', name: 'home')] public function home(SortieRepository $sortieRepository, TokenStorageInterface $tokenStorage,): Response { - // Récupérer les 5 dernières sorties $latestSorties = $sortieRepository->findBy([], ['dateHeureDebut' => 'DESC'], 5); $dateLimit = new \DateTime(); $dateLimit->modify('-30 days'); // Date limite = il y a 30 jours diff --git a/src/Controller/PasswordResetController.php b/src/Controller/PasswordResetController.php index 7151314..7e6f3a4 100644 --- a/src/Controller/PasswordResetController.php +++ b/src/Controller/PasswordResetController.php @@ -30,16 +30,13 @@ class PasswordResetController extends AbstractController try{ $email = $request->request->get('email'); - // Vérifier si l'email est valide if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { $this->addFlash('error', 'Adresse e-mail invalide.'); return $this->redirectToRoute('app_login'); } - // Générer un token unique $token = bin2hex(random_bytes(32)); - // Enregistrer le token dans la base de données $passwordResetToken = new PasswordResetToken(); $passwordResetToken->setToken($token) ->setEmail($email) @@ -55,7 +52,6 @@ class PasswordResetController extends AbstractController UrlGeneratorInterface::ABSOLUTE_URL ); - // Envoyer l'email avec le lien $email = (new Email()) ->from('contact@sortir.com') ->to($email) @@ -79,7 +75,6 @@ class PasswordResetController extends AbstractController Request $request, EntityManagerInterface $entityManager, ): Response { - // Vérifier si le token existe $repository = $entityManager->getRepository(PasswordResetToken::class); $passwordResetToken = $repository->findOneBy(['token' => $token]); @@ -88,14 +83,11 @@ class PasswordResetController extends AbstractController return $this->redirectToRoute('app_login'); } - // Si la requête est POST, traiter le nouveau mot de passe if ($request->isMethod('POST')) { $newPassword = $request->request->get('password'); $newPasswordConfirm = $request->request->get('passwordConfirm'); - // Vérifier si les mots de passe sont identiques if ($newPassword !== $newPasswordConfirm) { - // Les mots de passe ne correspondent pas $this->addFlash('error', 'Les mots de passe ne correspondent pas.'); return $this->redirectToRoute('app_password_reset'); // Vous pouvez rediriger vers la page de réinitialisation } @@ -105,7 +97,6 @@ class PasswordResetController extends AbstractController return $this->redirectToRoute('app_password_reset', ['token' => $token]); } - // Récupérer l'utilisateur et mettre à jour le mot de passe $user = $entityManager->getRepository(Participant::class)->findOneBy(['email' => $passwordResetToken->getEmail()]); $user->setPassword(password_hash($newPassword, PASSWORD_BCRYPT)); diff --git a/src/Controller/RegistrationController.php b/src/Controller/RegistrationController.php index 9f983df..a155a82 100644 --- a/src/Controller/RegistrationController.php +++ b/src/Controller/RegistrationController.php @@ -27,7 +27,6 @@ class RegistrationController extends AbstractController /** @var string $plainPassword */ $plainPassword = $form->get('plainPassword')->getData(); - // encode the plain password $user->setPassword($userPasswordHasher->hashPassword($user, $plainPassword)); $user->setRoles(['ROLE_USER']); $user->setActif(false); @@ -47,7 +46,6 @@ class RegistrationController extends AbstractController return $this->redirectToRoute('app_register'); } - // do anything else you need here, like send an email return $this->render('main/inscription.html.twig', ['fullName' => $fullName]); // return $security->login($user, 'form_login', 'main'); diff --git a/src/Controller/SortieController.php b/src/Controller/SortieController.php index 5ea938d..7a11dd4 100644 --- a/src/Controller/SortieController.php +++ b/src/Controller/SortieController.php @@ -33,7 +33,6 @@ class SortieController extends AbstractController $token = $tokenStorage->getToken(); $userConnect = $token?->getUser(); - // Récupérer les paramètres de filtre $search = $request->query->get('search', ''); $siteId = $request->query->get('site', ''); $startDate = $request->query->get('start_date', ''); @@ -43,7 +42,6 @@ class SortieController extends AbstractController $nonInscrit = $request->query->get('non_inscrit', false); $passees = $request->query->get('passees', false); - // Recherche par nom de sortie $sorties = $sortieRepository->findWithFilters($search, $siteId, $startDate, $endDate, $organisateur, $inscrit, $nonInscrit, $passees, $userConnect); return $this->render('sortie/list.html.twig', [ @@ -81,20 +79,17 @@ class SortieController extends AbstractController return $this->redirectToRoute('sortie_create'); } - // Vérifier le participant (organisateur) $participant = $participantRepository->find($userConnect->getIdParticipant()); if (!$participant) { $this->addFlash('error', 'Impossible de trouver votre profil.'); return $this->redirectToRoute('sortie_create'); } - // Gérer l'image (upload) $imageFile = $form->get('imageFile')->getData(); if ($imageFile) { $sortie->setImageFile($imageFile); } - // Définir les relations et l'état initial $etat = $etatRepository->findOneBy(['libelle' => 'Créée']); if (!$etat) { $this->addFlash('error', 'Erreur interne : état introuvable.'); @@ -243,13 +238,11 @@ class SortieController extends AbstractController $sortie->setLieu($lieu); } - // Gestion du fichier image $imageFile = $form->get('imageFile')->getData(); if ($imageFile) { $sortie->setImageFile($imageFile); } - // Sauvegarde des modifications $entityManager->flush(); $this->addFlash('success', 'Les modifications ont été enregistrées.'); diff --git a/src/EventListener/UserProfileListener.php b/src/EventListener/UserProfileListener.php index e97ccbd..ed91675 100644 --- a/src/EventListener/UserProfileListener.php +++ b/src/EventListener/UserProfileListener.php @@ -23,12 +23,10 @@ class UserProfileListener implements EventSubscriberInterface { $token = $this->tokenStorage->getToken(); - // Vérifie si l'utilisateur est connecté if ($token && $token->getUser()) { - $profile = $token->getUser(); // Récupère l'utilisateur connecté + $profile = $token->getUser(); $event->getRequest()->attributes->set('profile', $profile); - // Ajoute 'profile' à toutes les vues Twig $this->twig->addGlobal('profile', $profile); } } diff --git a/templates/auth/login.html.twig b/templates/auth/login.html.twig index 50de79a..06bae7b 100644 --- a/templates/auth/login.html.twig +++ b/templates/auth/login.html.twig @@ -40,7 +40,6 @@ -