Merge pull request #2117 from burakcakirel/validation-errors-on-reset-password-page

Show validation errors on Reset Password page
This commit is contained in:
Cüneyt Şentürk 2021-06-18 18:25:45 +03:00 committed by GitHub
commit 23f64f332e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 50 additions and 7 deletions

View File

@ -78,13 +78,44 @@ class Reset extends Controller
* Get the response for a successful password reset.
*
* @param string $response
* @return \Illuminate\Http\RedirectResponse
*
* @return \Illuminate\Http\JsonResponse
*/
protected function sendResetResponse($response)
{
flash(trans($response))->success();
$user = user();
return redirect($this->redirectTo);
$company = $user::withoutEvents(function () use ($user) {
return $user->companies()->enabled()->first();
});
// Logout if no company assigned
if (!$company) {
$this->guard()->logout();
return response()->json([
'status' => null,
'success' => false,
'error' => true,
'message' => trans('auth.error.no_company'),
'data' => null,
'redirect' => null,
]);
}
// Redirect to portal if is customer
if ($user->can('read-client-portal')) {
$this->redirectTo = route('portal.dashboard', ['company_id' => $company->id]);
}
return response()->json([
'status' => null,
'success' => true,
'error' => false,
'message' => null,
'data' => null,
'redirect' => url($this->redirectTo),
]);
}
/**
@ -92,12 +123,18 @@ class Reset extends Controller
*
* @param \Illuminate\Http\Request
* @param string $response
* @return \Illuminate\Http\RedirectResponse
*
* @return \Illuminate\Http\JsonResponse
*/
protected function sendResetFailedResponse(Request $request, $response)
{
return redirect()->back()
->withInput($request->only('email'))
->withErrors(['email' => trans($response)]);
return response()->json([
'status' => null,
'success' => false,
'error' => true,
'message' => trans($response),
'data' => null,
'redirect' => null,
]);
}
}

View File

@ -5,6 +5,8 @@
@section('message', trans('auth.reset_password'))
@section('content')
<div role="alert" class="alert alert-danger d-none" :class="(form.response.error) ? 'show' : ''" v-if="form.response.error" v-html="form.response.message"></div>
{!! Form::open([
'route' => 'reset.store',
'id' => 'reset',
@ -39,3 +41,7 @@
</div>
{!! Form::close() !!}
@endsection
@push('scripts_start')
<script src="{{ asset('public/js/auth/reset.js?v=' . version('short')) }}"></script>
@endpush