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