From 1f09667acb8b9b0fa7a9b07b7c13130c3df563b4 Mon Sep 17 00:00:00 2001 From: Alexis Gousseau Date: Thu, 21 May 2026 15:08:53 +0200 Subject: [PATCH] fix: :bug: set errors on reset password form --- .../Controllers/Auth/AuthenticatedSessionController.php | 8 ++++---- lang/fr/auth.php | 2 ++ resources/ts/back/Pages/Auth/ResetPassword.tsx | 8 ++++++++ 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/app/Http/Controllers/Auth/AuthenticatedSessionController.php b/app/Http/Controllers/Auth/AuthenticatedSessionController.php index 4b6d99c..cf3cadd 100644 --- a/app/Http/Controllers/Auth/AuthenticatedSessionController.php +++ b/app/Http/Controllers/Auth/AuthenticatedSessionController.php @@ -86,7 +86,7 @@ class AuthenticatedSessionController extends Controller return $status === Password::RESET_LINK_SENT ? to_route(config('uwil-backend.routes.name') . 'login') - : back()->with('error', trans('passwords.throttled')); + : back()->withErrors(['email' => trans('auth.throttled')]); } /** @@ -100,8 +100,8 @@ class AuthenticatedSessionController extends Controller $status = Password::broker('backend')->sendResetLink(['email' => $user->email]); return $status === Password::RESET_LINK_SENT - ? back()->with('success', trans('passwords.sent')) - : back()->with('error', trans('passwords.throttled')); + ? back() + : back()->withErrors(['email' => trans('auth.throttled')]); } /** @@ -145,6 +145,6 @@ class AuthenticatedSessionController extends Controller return $status === Password::PASSWORD_RESET ? to_route(config('uwil-backend.routes.name') . 'login') - : back()->with('error', trans('passwords.throttled')); + : back()->withErrors(['email' => trans("auth.token")]); } } diff --git a/lang/fr/auth.php b/lang/fr/auth.php index 6f8065b..cabfe61 100644 --- a/lang/fr/auth.php +++ b/lang/fr/auth.php @@ -40,4 +40,6 @@ return [ mot de passe en cliquant sur le bouton suivant:', 'email_title_reset_password' => 'Réinitialisation du mot de passe', 'email_title_reset_complete' => 'Mot de passe modifié', + 'token' => 'Ce lien de réinitialisation du mot de passe est invalide ou expiré.', + 'throttled' => 'Veuillez patienter avant de réessayer.', ]; diff --git a/resources/ts/back/Pages/Auth/ResetPassword.tsx b/resources/ts/back/Pages/Auth/ResetPassword.tsx index a854565..8283344 100644 --- a/resources/ts/back/Pages/Auth/ResetPassword.tsx +++ b/resources/ts/back/Pages/Auth/ResetPassword.tsx @@ -25,6 +25,7 @@ type ResetPasswordProps = { export default function ResetPassword({ token, email }: ResetPasswordProps) { const resetSent = useTrans("auth.reset_sent"); const resetSentDesc = useTrans("auth.reset_sent_desc"); + const errorTitle = useTrans("auth.reset_failed"); const { post, setData, processing } = useForm({ token, @@ -42,6 +43,13 @@ export default function ResetPassword({ token, email }: ResetPasswordProps) { description: resetSentDesc, }); }, + onError: (errors) => { + toast({ + variant: "destructive", + title: errorTitle, + description: Object.values(errors).join(", "), + }); + }, }); };