diff --git a/Web-Application/Manually/app/Http/Controllers/Auth/PasswordController.php b/Web-Application/Manually/app/Http/Controllers/Auth/PasswordController.php new file mode 100644 index 0000000..fbc8b15 --- /dev/null +++ b/Web-Application/Manually/app/Http/Controllers/Auth/PasswordController.php @@ -0,0 +1,57 @@ +only('email') + ); + + return $status === Password::ResetLinkSent + ? back()->with(['status' => __($status)]) + : back()->withErrors(['email' => __($status)]); + } + + public function resetPasswordPage(Request $request, $token) + { + $data['email'] = $request->email; + $data['token'] = $token; + return view('auth.reset-password', compact('data')); + } + + public function resetPassword(ResetPasswordRequest $request) + { + $status = Password::reset( + $request->only('email', 'password', 'password_confirmation', 'token'), + function (User $user, string $password) { + $user->forceFill([ + 'password' => Hash::make($password) + ])->setRememberToken(Str::random(60)); + $user->save(); + event(new PasswordReset($user)); + } + ); + + return $status === Password::PasswordReset + ? redirect()->route('login')->with('status', __($status)) + : back()->withErrors(['email' => [__($status)]]); + } +} diff --git a/Web-Application/Manually/app/Http/Requests/ForgotPasswordNotificationRequest.php b/Web-Application/Manually/app/Http/Requests/ForgotPasswordNotificationRequest.php new file mode 100644 index 0000000..cabb8e7 --- /dev/null +++ b/Web-Application/Manually/app/Http/Requests/ForgotPasswordNotificationRequest.php @@ -0,0 +1,28 @@ +|string> + */ + public function rules(): array + { + return [ + 'email' => 'required|email|exists:users' + ]; + } +} diff --git a/Web-Application/Manually/app/Http/Requests/ResetPasswordRequest.php b/Web-Application/Manually/app/Http/Requests/ResetPasswordRequest.php new file mode 100644 index 0000000..75a04f0 --- /dev/null +++ b/Web-Application/Manually/app/Http/Requests/ResetPasswordRequest.php @@ -0,0 +1,29 @@ +|string> + */ + public function rules(): array + { + return [ + 'email' => 'required|email|exists:users,email', + 'password' => 'required|min:8|confirmed', + ]; + } +} diff --git a/Web-Application/Manually/resources/views/auth/forgot-password.blade.php b/Web-Application/Manually/resources/views/auth/forgot-password.blade.php new file mode 100644 index 0000000..5b25b68 --- /dev/null +++ b/Web-Application/Manually/resources/views/auth/forgot-password.blade.php @@ -0,0 +1,36 @@ +@extends('layouts.app') + +@section('content') +