diff --git a/packages/Webkul/Customer/src/Http/Controllers/ForgotPasswordController.php b/packages/Webkul/Customer/src/Http/Controllers/ForgotPasswordController.php index eef822637..df66d8ce3 100755 --- a/packages/Webkul/Customer/src/Http/Controllers/ForgotPasswordController.php +++ b/packages/Webkul/Customer/src/Http/Controllers/ForgotPasswordController.php @@ -4,13 +4,14 @@ namespace Webkul\Customer\Http\Controllers; use Illuminate\Foundation\Auth\SendsPasswordResetEmails; use Illuminate\Support\Facades\Password; +use Webkul\Customer\Http\Requests\CustomerForgotPasswordRequest; class ForgotPasswordController extends Controller { use SendsPasswordResetEmails; - + /** - * Contains route related configuration + * Contains route related configuration. * * @var array */ @@ -41,16 +42,12 @@ class ForgotPasswordController extends Controller * * @return \Illuminate\Http\Response */ - public function store() + public function store(CustomerForgotPasswordRequest $request) { - try { - $this->validate(request(), [ - 'email' => 'required|email', - ]); + $request->validated(); - $response = $this->broker()->sendResetLink( - request(['email']) - ); + try { + $response = $this->broker()->sendResetLink($request->only(['email'])); if ($response == Password::RESET_LINK_SENT) { session()->flash('success', trans('customer::app.forget_password.reset_link_sent')); @@ -59,7 +56,7 @@ class ForgotPasswordController extends Controller } return back() - ->withInput(request(['email'])) + ->withInput($request->only(['email'])) ->withErrors([ 'email' => trans('customer::app.forget_password.email_not_exist'), ]); @@ -69,6 +66,7 @@ class ForgotPasswordController extends Controller return redirect()->back(); } catch (\Exception $e) { report($e); + session()->flash('error', trans($e->getMessage())); return redirect()->back(); @@ -84,4 +82,4 @@ class ForgotPasswordController extends Controller { return Password::broker('customers'); } -} \ No newline at end of file +} diff --git a/packages/Webkul/Customer/src/Http/Requests/CustomerForgotPasswordRequest.php b/packages/Webkul/Customer/src/Http/Requests/CustomerForgotPasswordRequest.php new file mode 100644 index 000000000..da57091ea --- /dev/null +++ b/packages/Webkul/Customer/src/Http/Requests/CustomerForgotPasswordRequest.php @@ -0,0 +1,53 @@ + 'required|email', + ]; + + /** + * Determine if the user is authorized to make this request. + * + * @return bool + */ + public function authorize() + { + return true; + } + + /** + * Get the validation rules that apply to the request. + * + * @return array + */ + public function rules() + { + return Captcha::isActive() + ? array_merge($this->rules, ['g-recaptcha-response' => 'required|captcha']) + : $this->rules; + } + + /** + * Get custom messages for validator errors. + * + * @return array + */ + public function messages() + { + return [ + 'g-recaptcha-response.required' => __('customer::app.admin.system.captcha.validations.required'), + 'g-recaptcha-response.captcha' => __('customer::app.admin.system.captcha.validations.captcha') + ]; + } +} diff --git a/packages/Webkul/Customer/src/Resources/lang/ar/app.php b/packages/Webkul/Customer/src/Resources/lang/ar/app.php index 440e817df..d083a78a2 100644 --- a/packages/Webkul/Customer/src/Resources/lang/ar/app.php +++ b/packages/Webkul/Customer/src/Resources/lang/ar/app.php @@ -31,7 +31,8 @@ return [ 'status' => 'حالة', 'validations' => [ - 'required' => 'الرجاء اختيار CAPTCHA' + 'required' => 'الرجاء اختيار CAPTCHA', + 'captcha' => 'هناك خطأ ما! حاول مرة اخرى.', ] ], ], diff --git a/packages/Webkul/Customer/src/Resources/lang/de/app.php b/packages/Webkul/Customer/src/Resources/lang/de/app.php index 7d2991d7c..783124e4d 100755 --- a/packages/Webkul/Customer/src/Resources/lang/de/app.php +++ b/packages/Webkul/Customer/src/Resources/lang/de/app.php @@ -31,7 +31,8 @@ return [ 'status' => 'Status', 'validations' => [ - 'required' => 'Bitte wählen Sie CAPTCHA' + 'required' => 'Bitte wählen Sie CAPTCHA', + 'captcha' => 'Etwas ist schief gelaufen! Bitte versuche es erneut.', ] ], ], diff --git a/packages/Webkul/Customer/src/Resources/lang/en/app.php b/packages/Webkul/Customer/src/Resources/lang/en/app.php index 2c8cd3254..7108bc25c 100755 --- a/packages/Webkul/Customer/src/Resources/lang/en/app.php +++ b/packages/Webkul/Customer/src/Resources/lang/en/app.php @@ -31,7 +31,8 @@ return [ 'status' => 'Status', 'validations' => [ - 'required' => 'Please select CAPTCHA' + 'required' => 'Please select CAPTCHA', + 'captcha' => 'Something went wrong! Please try again.', ] ], ], diff --git a/packages/Webkul/Customer/src/Resources/lang/es/app.php b/packages/Webkul/Customer/src/Resources/lang/es/app.php index 87dfc954b..af560c4c4 100755 --- a/packages/Webkul/Customer/src/Resources/lang/es/app.php +++ b/packages/Webkul/Customer/src/Resources/lang/es/app.php @@ -31,7 +31,8 @@ return [ 'status' => 'Estado', 'validations' => [ - 'required' => 'Seleccione CAPTCHA' + 'required' => 'Seleccione CAPTCHA', + 'captcha' => '¡Algo salió mal! Inténtalo de nuevo.', ] ], ], diff --git a/packages/Webkul/Customer/src/Resources/lang/fr/app.php b/packages/Webkul/Customer/src/Resources/lang/fr/app.php index 4ecbbabaf..5d4760cbf 100755 --- a/packages/Webkul/Customer/src/Resources/lang/fr/app.php +++ b/packages/Webkul/Customer/src/Resources/lang/fr/app.php @@ -31,7 +31,8 @@ return [ 'status' => 'Statut', 'validations' => [ - 'required' => 'Veuillez sélectionner CAPTCHA' + 'required' => 'Veuillez sélectionner CAPTCHA', + 'captcha' => 'Quelque chose s\'est mal passé ! Veuillez réessayer.', ] ], ], diff --git a/packages/Webkul/Customer/src/Resources/lang/it/app.php b/packages/Webkul/Customer/src/Resources/lang/it/app.php index 70505aab0..fa7d02fa6 100644 --- a/packages/Webkul/Customer/src/Resources/lang/it/app.php +++ b/packages/Webkul/Customer/src/Resources/lang/it/app.php @@ -31,7 +31,8 @@ return [ 'status' => 'Stato', 'validations' => [ - 'required' => 'Seleziona CAPTCHA' + 'required' => 'Seleziona CAPTCHA', + 'captcha' => 'Qualcosa è andato storto! Per favore riprova.', ] ], ], diff --git a/packages/Webkul/Customer/src/Resources/lang/nl/app.php b/packages/Webkul/Customer/src/Resources/lang/nl/app.php index 26bacbc69..7d01b9b87 100755 --- a/packages/Webkul/Customer/src/Resources/lang/nl/app.php +++ b/packages/Webkul/Customer/src/Resources/lang/nl/app.php @@ -31,7 +31,8 @@ return [ 'status' => 'Toestand', 'validations' => [ - 'required' => 'Selecteer CAPTCHA' + 'required' => 'Selecteer CAPTCHA', + 'captcha' => 'Er is iets fout gegaan! Probeer het opnieuw.', ] ], ], diff --git a/packages/Webkul/Customer/src/Resources/lang/pt_BR/app.php b/packages/Webkul/Customer/src/Resources/lang/pt_BR/app.php index e06a47abf..580176677 100755 --- a/packages/Webkul/Customer/src/Resources/lang/pt_BR/app.php +++ b/packages/Webkul/Customer/src/Resources/lang/pt_BR/app.php @@ -31,7 +31,8 @@ return [ 'status' => 'Status', 'validations' => [ - 'required' => 'Selecione CAPTCHA' + 'required' => 'Selecione CAPTCHA', + 'captcha' => 'Algo deu errado! Por favor, tente novamente.', ] ], ], diff --git a/packages/Webkul/Velocity/src/Resources/views/shop/customers/signup/forgot-password.blade.php b/packages/Webkul/Velocity/src/Resources/views/shop/customers/signup/forgot-password.blade.php index bf4e8c14e..3bb1c2ced 100644 --- a/packages/Webkul/Velocity/src/Resources/views/shop/customers/signup/forgot-password.blade.php +++ b/packages/Webkul/Velocity/src/Resources/views/shop/customers/signup/forgot-password.blade.php @@ -56,6 +56,12 @@ +
+ + {!! Captcha::render() !!} + +
+ {!! view_render_event('bagisto.shop.customers.forget_password_form_controls.after') !!}