middleware(['guest']); } public function showRegisterForm(string $company_key = '') { if (strlen($company_key) > 2) { $key = $company_key; } else { $key = request()->session()->has('company_key') ? request()->session()->get('company_key') : $company_key; } /** @var \App\Models\Company $company **/ $company = Company::where('company_key', $key)->firstOrFail(); App::forgetInstance('translator'); $t = app('translator'); $t->replace(Ninja::transformTranslations($company->settings)); $domain_name = request()->getHost(); $show_turnstile = false; if (config('ninja.cloudflare.turnstile.site_key') && strpos($domain_name, config('ninja.app_domain')) !== false) { $show_turnstile = true; } $data = [ 'formed_disabled' => $company->account->isFreeHostedClient(), 'register_company' => $company, 'account' => $company->account, 'submitsForm' => false, 'show_turnstile' => $show_turnstile ]; return render('auth.register', $data); } public function register(RegisterRequest $request) { $company = $request->company(); if (! $company->client_can_register || $company->account->isFreeHostedClient()) { abort(403, 'This page is restricted'); } $request->merge(['company' => $request->company()]); $service = new ClientRegisterService( company: $request->company(), ); $client = $service->createClient($request->all()); $client_contact = $service->createClientContact($request->all(), $client); Auth::guard('contact')->loginUsingId($client_contact->id, true); return redirect()->intended(route('client.dashboard')); } }