fix: gestion des erreurs utilisateur avec codes de statut HTTP appropriés et amélioration du rendu des réponses

This commit is contained in:
2026-04-12 23:25:33 +02:00
parent 0d447e0f10
commit d757e86ed2
+17 -4
View File
@@ -58,7 +58,12 @@ class UserController extends AbstractController
// Initialisation de la variable $userData // Initialisation de la variable $userData
$user = $user->updateFromKazUser($kazUser); $user = $user->updateFromKazUser($kazUser);
} catch (Exception $e) { } 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é // Création du formulaire lié à l'utilisateur connecté
@@ -88,7 +93,7 @@ class UserController extends AbstractController
try { try {
$apiKazService->updateUserData($user->getEmail(), $kazUser); $apiKazService->updateUserData($user->getEmail(), $kazUser);
} catch (Exception $e) { } 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 // Sauvegarde en base de données
$entityManager->flush(); $entityManager->flush();
@@ -98,11 +103,15 @@ class UserController extends AbstractController
return $this->redirectToRoute('app_user'); return $this->redirectToRoute('app_user');
} }
// Affichage de la page // Affichage de la page
$response = new Response(
status: ($form->isSubmitted() && !$form->isValid()) ? 422 : 200
);
return $this->render('user/index.html.twig', [ return $this->render('user/index.html.twig', [
'form' => $form->createView(), 'form' => $form->createView(),
'userData' => $user, 'userData' => $user,
'isEditMode' => $isEditMode, 'isEditMode' => $isEditMode,
]); ], $response);
} }
#[Route('/mot-de-passe', name: 'app_user_edit_password', methods: ['GET', 'POST'])] #[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'); 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', [ return $this->render('user/edit_password.html.twig', [
'form' => $form->createView(), 'form' => $form->createView(),
]); ], $response);
} }
} }