diff --git a/app/Http/Controllers/Auth/ContactRegisterController.php b/app/Http/Controllers/Auth/ContactRegisterController.php index 4b7c9f8883af..d08f90b59f1c 100644 --- a/app/Http/Controllers/Auth/ContactRegisterController.php +++ b/app/Http/Controllers/Auth/ContactRegisterController.php @@ -35,7 +35,10 @@ class ContactRegisterController extends Controller public function showRegisterForm(string $company_key = '') { - $key = request()->session()->has('company_key') ? request()->session()->get('company_key') : $company_key; + if(strlen($company_key) > 2) + $key = $company_key; + else + $key = request()->session()->has('company_key') ? request()->session()->get('company_key') : $company_key; $company = Company::where('company_key', $key)->firstOrFail(); @@ -43,7 +46,7 @@ class ContactRegisterController extends Controller $t = app('translator'); $t->replace(Ninja::transformTranslations($company->settings)); - return render('auth.register', ['company' => $company, 'account' => $company->account]); + return render('auth.register', ['register_company' => $company, 'account' => $company->account]); } public function register(RegisterRequest $request) @@ -60,6 +63,7 @@ class ContactRegisterController extends Controller private function getClient(array $data) { + $client = ClientFactory::create($data['company']->id, $data['company']->owner()->id); $client->fill($data); @@ -73,7 +77,7 @@ class ContactRegisterController extends Controller } - $this->getClientContact($data, $client); + // $this->getClientContact($data, $client); return $client; } diff --git a/app/Http/Middleware/ContactRegister.php b/app/Http/Middleware/ContactRegister.php index 1ada8e1c56cb..22eb6e0b8ec3 100644 --- a/app/Http/Middleware/ContactRegister.php +++ b/app/Http/Middleware/ContactRegister.php @@ -68,11 +68,9 @@ class ContactRegister // For self-hosted platforms with multiple companies, resolving is done using company key // if it doesn't resolve using a domain. - - if ($request->company_key && Ninja::isSelfHost()) { + + if ($request->company_key && Ninja::isSelfHost() && $company = Company::where('company_key', $request->company_key)->first()) { - $company = Company::where('company_key', $request->company_key)->firstOrFail(); - if(! (bool)$company->client_can_register) abort(400, 'Registration disabled'); diff --git a/resources/views/portal/ninja2020/auth/register.blade.php b/resources/views/portal/ninja2020/auth/register.blade.php index 214157bd5b25..9a8f13540cef 100644 --- a/resources/views/portal/ninja2020/auth/register.blade.php +++ b/resources/views/portal/ninja2020/auth/register.blade.php @@ -5,21 +5,21 @@
- {{ ctrans('texts.logo') }} + {{ ctrans('texts.logo') }}

{{ ctrans('texts.register') }}

{{ ctrans('texts.register_label') }}

- @if($company) - + @if($register_company) + @endif @csrf
- @if($company->client_registration_fields) - @foreach($company->client_registration_fields as $field) + @if($register_company->client_registration_fields) + @foreach($register_company->client_registration_fields as $field) @if($field['required'])
@@ -108,15 +108,15 @@
- @if(!empty($company->settings->client_portal_terms) || !empty($company->settings->client_portal_privacy_policy)) + @if(!empty($register_company->settings->client_portal_terms) || !empty($register_company->settings->client_portal_privacy_policy)) {{ ctrans('texts.i_agree_to_the') }} @endif - @includeWhen(!empty($company->settings->client_portal_terms), 'portal.ninja2020.auth.includes.register.popup', ['property' => 'terms_of_service', 'title' => ctrans('texts.terms_of_service'), 'content' => $company->settings->client_portal_terms]) - @includeWhen(!empty($company->settings->client_portal_privacy_policy), 'portal.ninja2020.auth.includes.register.popup', ['property' => 'privacy_policy', 'title' => ctrans('texts.privacy_policy'), 'content' => $company->settings->client_portal_privacy_policy]) + @includeWhen(!empty($register_company->settings->client_portal_terms), 'portal.ninja2020.auth.includes.register.popup', ['property' => 'terms_of_service', 'title' => ctrans('texts.terms_of_service'), 'content' => $register_company->settings->client_portal_terms]) + @includeWhen(!empty($register_company->settings->client_portal_privacy_policy), 'portal.ninja2020.auth.includes.register.popup', ['property' => 'privacy_policy', 'title' => ctrans('texts.privacy_policy'), 'content' => $register_company->settings->client_portal_privacy_policy]) @error('terms')

{{ $message }}