From d757e86ed2714fef1cf517c4ba0c9e0a96a8c1e1 Mon Sep 17 00:00:00 2001 From: maurine Date: Sun, 12 Apr 2026 23:25:33 +0200 Subject: [PATCH] =?UTF-8?q?fix:=20gestion=20des=20erreurs=20utilisateur=20?= =?UTF-8?q?avec=20codes=20de=20statut=20HTTP=20appropri=C3=A9s=20et=20am?= =?UTF-8?q?=C3=A9lioration=20du=20rendu=20des=20r=C3=A9ponses?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Controller/UserController.php | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/src/Controller/UserController.php b/src/Controller/UserController.php index d51e365..4186c1f 100644 --- a/src/Controller/UserController.php +++ b/src/Controller/UserController.php @@ -58,7 +58,12 @@ class UserController extends AbstractController // Initialisation de la variable $userData $user = $user->updateFromKazUser($kazUser); } catch (Exception $e) { - $this->addFlash('error', 'Impossible de charger vos données.' . $e->getMessage()); + $this->addFlash('error', 'Impossible de charger vos données.'); + return $this->render('user/index.html.twig', [ + 'form' => $this->createForm(UserProfileType::class, $user)->createView(), + 'userData' => $user, + 'isEditMode' => false, + ], new Response(status: 422)); } // Création du formulaire lié à l'utilisateur connecté @@ -88,7 +93,7 @@ class UserController extends AbstractController try { $apiKazService->updateUserData($user->getEmail(), $kazUser); } catch (Exception $e) { - $this->addFlash('error', 'Impossible de mettre à jour votre profil' . $e->getMessage()); + $this->addFlash('error', 'Impossible de mettre à jour votre profil.'); } // Sauvegarde en base de données $entityManager->flush(); @@ -98,11 +103,15 @@ class UserController extends AbstractController return $this->redirectToRoute('app_user'); } // Affichage de la page + $response = new Response( + status: ($form->isSubmitted() && !$form->isValid()) ? 422 : 200 + ); + return $this->render('user/index.html.twig', [ 'form' => $form->createView(), 'userData' => $user, 'isEditMode' => $isEditMode, - ]); + ], $response); } #[Route('/mot-de-passe', name: 'app_user_edit_password', methods: ['GET', 'POST'])] @@ -141,8 +150,12 @@ class UserController extends AbstractController return $this->redirectToRoute('app_user_edit_password'); } } + $response = new Response( + status: ($form->isSubmitted() && !$form->isValid()) ? 422 : 200 + ); + return $this->render('user/edit_password.html.twig', [ 'form' => $form->createView(), - ]); + ], $response); } }