From 0dc4d9567c77b551f656be83733b148f18e83ab7 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Sat, 4 Sep 2021 11:09:34 +1000 Subject: [PATCH] Fixes for client portal login with custom domains --- app/Http/Controllers/Auth/ContactLoginController.php | 8 +++++--- .../Controllers/Auth/ContactResetPasswordController.php | 7 ++++++- resources/views/portal/ninja2020/auth/login.blade.php | 2 +- .../views/portal/ninja2020/auth/passwords/reset.blade.php | 3 +++ 4 files changed, 15 insertions(+), 5 deletions(-) diff --git a/app/Http/Controllers/Auth/ContactLoginController.php b/app/Http/Controllers/Auth/ContactLoginController.php index 057adf6448e7..b6c64a4d87d2 100644 --- a/app/Http/Controllers/Auth/ContactLoginController.php +++ b/app/Http/Controllers/Auth/ContactLoginController.php @@ -37,9 +37,11 @@ class ContactLoginController extends Controller public function showLoginForm(Request $request) { //if we are on the root domain invoicing.co do not show any company logos - if(Ninja::isHosted() && count(explode('.', request()->getHost())) == 2){ - $company = null; - }elseif (strpos($request->getHost(), 'invoicing.co') !== false) { + // if(Ninja::isHosted() && count(explode('.', request()->getHost())) == 2){ + // $company = null; + // }else + + if (strpos($request->getHost(), 'invoicing.co') !== false) { $subdomain = explode('.', $request->getHost())[0]; MultiDB::findAndSetDbByDomain(['subdomain' => $subdomain]); diff --git a/app/Http/Controllers/Auth/ContactResetPasswordController.php b/app/Http/Controllers/Auth/ContactResetPasswordController.php index 6de7c2972933..7cd6aa0bf147 100644 --- a/app/Http/Controllers/Auth/ContactResetPasswordController.php +++ b/app/Http/Controllers/Auth/ContactResetPasswordController.php @@ -12,6 +12,7 @@ namespace App\Http\Controllers\Auth; use App\Http\Controllers\Controller; +use App\Libraries\MultiDB; use App\Models\Account; use Illuminate\Contracts\View\Factory; use Illuminate\Foundation\Auth\ResetsPasswords; @@ -65,14 +66,18 @@ class ContactResetPasswordController extends Controller { $account_id = $request->get('account_id'); $account = Account::find($account_id); + $db = $account->companies->first()->db; return $this->render('auth.passwords.reset')->with( - ['token' => $token, 'email' => $request->email, 'account' => $account] + ['token' => $token, 'email' => $request->email, 'account' => $account, 'db' => $db] ); } public function reset(Request $request) { + if($request->has('db')) + MultiDB::setDb($request->input('db')); + $request->validate($this->rules(), $this->validationErrorMessages()); // Here we will attempt to reset the user's password. If it is successful we diff --git a/resources/views/portal/ninja2020/auth/login.blade.php b/resources/views/portal/ninja2020/auth/login.blade.php index 69b1ff0a7183..0ad0f20d90d2 100644 --- a/resources/views/portal/ninja2020/auth/login.blade.php +++ b/resources/views/portal/ninja2020/auth/login.blade.php @@ -52,7 +52,7 @@ {{ trans('texts.forgot_password') }} - @if($company) + @if(isset($company) && !is_null($company)) @endif @csrf + @if($db) + + @endif