diff --git a/app/Http/Controllers/Auth/ContactLoginController.php b/app/Http/Controllers/Auth/ContactLoginController.php index 37530b5fb6b8..057adf6448e7 100644 --- a/app/Http/Controllers/Auth/ContactLoginController.php +++ b/app/Http/Controllers/Auth/ContactLoginController.php @@ -13,6 +13,7 @@ namespace App\Http\Controllers\Auth; use App\Events\Contact\ContactLoggedIn; use App\Http\Controllers\Controller; +use App\Libraries\MultiDB; use App\Models\Account; use App\Models\ClientContact; use App\Models\Company; @@ -40,8 +41,16 @@ class ContactLoginController extends Controller $company = null; }elseif (strpos($request->getHost(), 'invoicing.co') !== false) { $subdomain = explode('.', $request->getHost())[0]; + + MultiDB::findAndSetDbByDomain(['subdomain' => $subdomain]); + $company = Company::where('subdomain', $subdomain)->first(); - } elseif(Ninja::isHosted() && $company = Company::where('portal_domain', $request->getSchemeAndHttpHost())->first()){ + + } elseif(Ninja::isHosted()){ + + MultiDB::findAndSetDbByDomain(['portal_domain' => $request->getSchemeAndHttpHost()]); + + $company = Company::where('portal_domain', $request->getSchemeAndHttpHost())->first(); } elseif (Ninja::isSelfHost()) { @@ -61,6 +70,9 @@ class ContactLoginController extends Controller { Auth::shouldUse('contact'); + if(Ninja::isHosted() && $request->has('db')) + MultiDB::setDb($request->input('db')); + $this->validateLogin($request); // If the class is using the ThrottlesLogins trait, we can automatically throttle // the login attempts for this application. We'll key this by the username and diff --git a/app/Http/ViewComposers/PortalComposer.php b/app/Http/ViewComposers/PortalComposer.php index 3c70aa695aba..e5be85883ea4 100644 --- a/app/Http/ViewComposers/PortalComposer.php +++ b/app/Http/ViewComposers/PortalComposer.php @@ -79,7 +79,7 @@ class PortalComposer $data['currencies'] = TranslationHelper::getCurrencies(); $data['contact'] = auth('contact')->user(); - $data['multiple_contacts'] = session()->get('multiple_contacts'); + $data['multiple_contacts'] = session()->get('multiple_contacts') ?: collect(); return $data; } diff --git a/resources/views/portal/ninja2020/auth/login.blade.php b/resources/views/portal/ninja2020/auth/login.blade.php index ec2e188f8ff3..69b1ff0a7183 100644 --- a/resources/views/portal/ninja2020/auth/login.blade.php +++ b/resources/views/portal/ninja2020/auth/login.blade.php @@ -52,6 +52,9 @@ {{ trans('texts.forgot_password') }} + @if($company) + + @endif