From 92b0839899a223195b25e0cc4b0dd2dbeab17aea Mon Sep 17 00:00:00 2001 From: Serreau Jovann Date: Thu, 19 Mar 2026 10:19:04 +0100 Subject: [PATCH] =?UTF-8?q?fix:=20g=C3=A9rer=20l'erreur=20email=20dupliqu?= =?UTF-8?q?=C3=A9=20=C3=A0=20la=20cr=C3=A9ation=20de=20compte?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Affiche un message utilisateur au lieu d'une exception SQL quand l'email existe déjà. Déplace l'envoi du mail après le flush. Co-Authored-By: Claude Opus 4.6 (1M context) --- src/Controller/ReserverController.php | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/Controller/ReserverController.php b/src/Controller/ReserverController.php index 1999bfd..5352fc3 100644 --- a/src/Controller/ReserverController.php +++ b/src/Controller/ReserverController.php @@ -966,6 +966,14 @@ class ReserverController extends AbstractController $customer->setPassword($hashedPassword); $customer->setRoles(['ROLE_USER']); + try { + $em->persist($customer); + $em->flush(); + } catch (\Doctrine\DBAL\Exception\UniqueConstraintViolationException $e) { + $this->addFlash('error', 'Un compte avec cette adresse email existe déjà. Veuillez vous connecter ou utiliser une autre adresse email.'); + return $this->redirectToRoute('reservation_register'); + } + $mailer->send( $customer->getEmail(), $customer->getName() . " " . $customer->getSurname(), @@ -974,9 +982,6 @@ class ReserverController extends AbstractController ['customer' => $customer] ); - $em->persist($customer); - $em->flush(); - $this->addFlash('success', 'Votre compte a été créé avec succès ! Connectez-vous.'); return $this->redirectToRoute('reservation_login'); }