diff --git a/app/Http/Controllers/ClientPortal/SwitchCompanyController.php b/app/Http/Controllers/ClientPortal/SwitchCompanyController.php new file mode 100644 index 000000000000..aa70285e642b --- /dev/null +++ b/app/Http/Controllers/ClientPortal/SwitchCompanyController.php @@ -0,0 +1,34 @@ +where('user_id', auth()->user()->id) + ->where('id', $this->transformKeys($contact)) + ->first(); + + auth('contact')->login($client_contact, true); + + return back(); + } +} diff --git a/app/Http/ViewComposers/PortalComposer.php b/app/Http/ViewComposers/PortalComposer.php index 597ff721cefa..67c12c19d149 100644 --- a/app/Http/ViewComposers/PortalComposer.php +++ b/app/Http/ViewComposers/PortalComposer.php @@ -11,6 +11,7 @@ namespace App\Http\ViewComposers; +use App\Models\ClientContact; use App\Utils\TranslationHelper; use Illuminate\View\View; @@ -48,6 +49,7 @@ class PortalComposer $data['company'] = auth()->user()->company; $data['client'] = auth()->user()->client; $data['settings'] = auth()->user()->client->getMergedSettings(); + $data['multiple_contacts'] = ClientContact::where('email', auth('contact')->user()->email)->get(); return $data; } diff --git a/resources/lang/en/texts.php b/resources/lang/en/texts.php index 63c6ff9a3e6a..5fc427a0d2e5 100644 --- a/resources/lang/en/texts.php +++ b/resources/lang/en/texts.php @@ -3204,5 +3204,5 @@ return [ 'view_credit' => 'View Credit', 'to_view_entity_password' => 'To view the :entity you need to enter password.', 'showing_x_of' => 'Showing :first to :last out of :total results', - 'no_results' => 'No results found.' + 'no_results' => 'No results found.', ]; diff --git a/resources/views/portal/ninja2020/components/general/sidebar/header.blade.php b/resources/views/portal/ninja2020/components/general/sidebar/header.blade.php index 59cce6cd2168..35eefd9e4aac 100644 --- a/resources/views/portal/ninja2020/components/general/sidebar/header.blade.php +++ b/resources/views/portal/ninja2020/components/general/sidebar/header.blade.php @@ -1,8 +1,7 @@
-
@@ -12,49 +11,51 @@
- +
- +
- + @if($multiple_contacts) +
+
+ + + +
+
+
+
+ @foreach($multiple_contacts as $contact) + {{ $contact->company->present()->name }} + @endforeach +
+
+
+
+ @endif
-
-
-
+ \ No newline at end of file diff --git a/routes/client.php b/routes/client.php index d153c8284b49..cd054d1ad061 100644 --- a/routes/client.php +++ b/routes/client.php @@ -50,6 +50,8 @@ Route::group(['middleware' => ['auth:contact','locale'], 'prefix' => 'client', ' Route::post('document', 'ClientPortal\DocumentController@store')->name('document.store'); Route::delete('document', 'ClientPortal\DocumentController@destroy')->name('document.destroy'); + Route::get('client/switch_company/{contact}', 'ClientPortal\SwitchCompanyController')->name('switch_company'); + Route::get('logout', 'Auth\ContactLoginController@logout')->name('logout'); });