diff --git a/app/Http/Controllers/Auth/ForgotPasswordController.php b/app/Http/Controllers/Auth/ForgotPasswordController.php new file mode 100644 index 0000000000..9cdc7a76f5 --- /dev/null +++ b/app/Http/Controllers/Auth/ForgotPasswordController.php @@ -0,0 +1,71 @@ +middleware('guest'); + } + + /** + * Get the e-mail subject line to be used for the reset link email. + * Overriding method "getEmailSubject()" from trait "use ResetsPasswords" + * @return string + */ + public function getEmailSubject(){ + return property_exists($this, 'subject') ? $this->subject : \Lang::get('mail.reset_link'); + } + + /** + * Send a reset link to the given user. + * + * @param \Illuminate\Http\Request $request + * @return \Illuminate\Http\RedirectResponse + */ + public function sendResetLinkEmail(Request $request) + { + $this->validate($request, ['email' => 'required|email']); + + // We will send the password reset link to this user. Once we have attempted + // to send the link, we will examine the response then see the message we + // need to show to the user. Finally, we'll send out a proper response. + $response = $this->broker()->sendResetLink( + $request->only('email') + ); + + if ($response === \Password::RESET_LINK_SENT) { + return redirect()->route('login')->with('status', trans($response)); + } + + // If an error was returned by the password broker, we will get this message + // translated so we can notify a user of the problem. We'll redirect back + // to where the users came from so they can attempt this process again. + return back()->withErrors( + ['email' => trans($response)] + ); + } +} diff --git a/app/Http/Controllers/Auth/PasswordController.php b/app/Http/Controllers/Auth/PasswordController.php deleted file mode 100644 index 34edb5501a..0000000000 --- a/app/Http/Controllers/Auth/PasswordController.php +++ /dev/null @@ -1,60 +0,0 @@ -] - * @version v1.0 - */ -class PasswordController extends Controller -{ - /* - |-------------------------------------------------------------------------- - | Password Reset Controller - |-------------------------------------------------------------------------- - | - | This controller is responsible for handling password reset requests - | and uses a simple trait to include this behavior. You're free to - | explore this trait and override any methods you wish to tweak. - | - */ - - use ResetsPasswords; - - /** - * Create a new password controller instance. - * - * @return void - */ - public function __construct() - { - $this->middleware('guest'); - } - - /** - * Get the e-mail subject line to be used for the reset link email. - * Overriding method "getEmailSubject()" from trait "use ResetsPasswords" - * @return string - */ - public function getEmailSubject(){ - return property_exists($this, 'subject') ? $this->subject : \Lang::get('mail.reset_link'); - } - - /** - * Get the response for after the reset link has been successfully sent. - * - * @param string $response - * @return \Symfony\Component\HttpFoundation\Response - */ - protected function getSendResetLinkEmailSuccessResponse($response) - { - return redirect()->route('login')->with('status', trans($response)); - } -} diff --git a/app/Http/Controllers/Auth/ResetPasswordController.php b/app/Http/Controllers/Auth/ResetPasswordController.php new file mode 100644 index 0000000000..cf726eecdf --- /dev/null +++ b/app/Http/Controllers/Auth/ResetPasswordController.php @@ -0,0 +1,39 @@ +middleware('guest'); + } +}