3 namespace BookStack\Http\Controllers\Auth;
5 use BookStack\Http\Controllers\Controller;
6 use Illuminate\Foundation\Auth\ResetsPasswords;
7 use Illuminate\Http\Request;
10 class PasswordController extends Controller
13 |--------------------------------------------------------------------------
14 | Password Reset Controller
15 |--------------------------------------------------------------------------
17 | This controller is responsible for handling password reset requests
18 | and uses a simple trait to include this behavior. You're free to
19 | explore this trait and override any methods you wish to tweak.
25 protected $redirectTo = '/';
28 * Create a new password controller instance.
30 public function __construct()
32 $this->middleware('guest');
37 * Send a reset link to the given user.
39 * @param \Illuminate\Http\Request $request
40 * @return \Illuminate\Http\Response
42 public function sendResetLinkEmail(Request $request)
44 $this->validate($request, ['email' => 'required|email']);
46 $broker = $this->getBroker();
48 $response = Password::broker($broker)->sendResetLink(
49 $request->only('email'), $this->resetEmailBuilder()
53 case Password::RESET_LINK_SENT:
54 $message = 'A password reset link has been sent to ' . $request->get('email') . '.';
55 session()->flash('success', $message);
56 return $this->getSendResetLinkEmailSuccessResponse($response);
58 case Password::INVALID_USER:
60 return $this->getSendResetLinkEmailFailureResponse($response);
65 * Get the response for after a successful password reset.
67 * @param string $response
68 * @return \Symfony\Component\HttpFoundation\Response
70 protected function getResetSuccessResponse($response)
72 $message = 'Your password has been successfully reset.';
73 session()->flash('success', $message);
74 return redirect($this->redirectPath())->with('status', trans($response));