diff --git a/app/Http/Controllers/ClientPortal/NinjaPlanController.php b/app/Http/Controllers/ClientPortal/NinjaPlanController.php index 04f85dac55ec..2d8cd2240f5c 100644 --- a/app/Http/Controllers/ClientPortal/NinjaPlanController.php +++ b/app/Http/Controllers/ClientPortal/NinjaPlanController.php @@ -16,25 +16,25 @@ use App\Http\Controllers\Controller; use App\Http\Requests\ClientPortal\Uploads\StoreUploadRequest; use App\Libraries\MultiDB; use App\Models\ClientContact; +use App\Models\Company; use App\Utils\Ninja; +use Auth; use Illuminate\Contracts\Routing\ResponseFactory; use Illuminate\Http\Request; use Illuminate\Http\Response; -use Auth; class NinjaPlanController extends Controller { - public function index(string $contact_key) + public function index(string $contact_key, string $company_key) { + MultiDB::findAndSetDbByCompanyKey($company_key); + $company = Company::where('company_key', $company_key)->first(); + $account = $company->account; if (Ninja::isHosted() && MultiDB::findAndSetDbByContactKey(request()->segment(3)) && $client_contact = ClientContact::where('contact_key', request()->segment(3))->first()) - { - // auth()->guard('contact')->login($client_contact, true); - Auth::guard('contact')->login($client_contact); - - /* Harvest user account*/ - $account = $client_contact->company->account; + { + Auth::guard('contact')->login($client_contact,true); /* Current paid users get pushed straight to subscription overview page*/ if($account->isPaidHostedClient()) diff --git a/routes/client.php b/routes/client.php index b57bc2eedfcc..12e530ffa2d8 100644 --- a/routes/client.php +++ b/routes/client.php @@ -26,7 +26,7 @@ Route::get('client/magic_link/{magic_link}', 'ClientPortal\ContactHashLoginContr Route::get('documents/{document_hash}', 'ClientPortal\DocumentController@publicDownload')->name('documents.public_download')->middleware(['document_db']); Route::get('error', 'ClientPortal\ContactHashLoginController@errorPage')->name('client.error'); Route::get('client/payment/{contact_key}/{payment_id}', 'ClientPortal\InvitationController@paymentRouter')->middleware(['domain_db','contact_key_login']); -Route::get('client/ninja/{contact_key}', 'ClientPortal\NinjaPlanController@index')->name('client.ninja_contact_login')->middleware(['domain_db']); +Route::get('client/ninja/{contact_key}/{company_key}', 'ClientPortal\NinjaPlanController@index')->name('client.ninja_contact_login')->middleware(['domain_db']); Route::group(['middleware' => ['auth:contact', 'locale', 'check_client_existence','domain_db'], 'prefix' => 'client', 'as' => 'client.'], function () { Route::get('dashboard', 'ClientPortal\DashboardController@index')->name('dashboard'); // name = (dashboard. index / create / show / update / destroy / edit