Fix #120 Add a workaround because Laravel seems to clear the errors when the Captcha is used

This commit is contained in:
Timothée Jaussoin 2023-09-07 14:10:01 +00:00
parent 96690590ae
commit 8152d36d38
2 changed files with 12 additions and 2 deletions

View file

@ -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');

View file

@ -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()