From 50ec273cdd08f69828cc2e3dc1e72ccec07455e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timoth=C3=A9e=20Jaussoin?= Date: Thu, 7 Sep 2023 14:10:01 +0000 Subject: [PATCH] Fix #120 Add a workaround because Laravel seems to clear the errors when the Captcha is used --- .../Http/Controllers/Account/RegisterController.php | 12 +++++++++++- .../Api/Account/CreationTokenController.php | 2 +- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/flexiapi/app/Http/Controllers/Account/RegisterController.php b/flexiapi/app/Http/Controllers/Account/RegisterController.php index 61c4bdc..8031042 100644 --- a/flexiapi/app/Http/Controllers/Account/RegisterController.php +++ b/flexiapi/app/Http/Controllers/Account/RegisterController.php @@ -24,6 +24,7 @@ use Illuminate\Http\Request; use Illuminate\Support\Str; use Illuminate\Support\Facades\Mail; use Illuminate\Support\Facades\Log; +use Illuminate\Support\Facades\Validator; use Illuminate\Validation\Rule; use Carbon\Carbon; @@ -67,7 +68,7 @@ class RegisterController extends Controller public function storeEmail(Request $request) { - $request->validate([ + $validator = Validator::make($request->all(), [ 'terms' => 'accepted', 'privacy' => 'accepted', 'username' => [ @@ -91,6 +92,15 @@ class RegisterController extends Controller : 'required|email|confirmed', ]); + // Weird workaround to force the injections of the validation errors, + // the redirection seems to clear them when the captcha is used + if ($validator->fails()) { + return view('account.register.email', [ + 'errors' => $validator->messages(), + 'domain' => '@' . config('app.sip_domain') + ]); + } + $account = new Account; $account->username = $request->get('username'); $account->email = $request->get('email'); diff --git a/flexiapi/app/Http/Controllers/Api/Account/CreationTokenController.php b/flexiapi/app/Http/Controllers/Api/Account/CreationTokenController.php index 92f8850..400a334 100644 --- a/flexiapi/app/Http/Controllers/Api/Account/CreationTokenController.php +++ b/flexiapi/app/Http/Controllers/Api/Account/CreationTokenController.php @@ -42,7 +42,7 @@ class CreationTokenController extends Controller ]); $last = AccountCreationToken::where('pn_provider', $request->get('pn_provider')) - ->where('pn_paparam', $request->get('pn_param')) + ->where('pn_param', $request->get('pn_param')) ->where('pn_prid', $request->get('pn_prid')) ->where('created_at', '>=', Carbon::now()->subMinutes(config('app.account_creation_token_retry_minutes'))->toDateTimeString()) ->latest()