From f46a7888a816a9bb82a45b1918237cb08ee18a9b Mon Sep 17 00:00:00 2001 From: Hillel Coren Date: Sun, 19 Feb 2017 22:47:16 +0200 Subject: [PATCH] Use custom settings in client portal url --- .../Controllers/ClientPortalController.php | 5 +++++ app/Models/Contact.php | 20 ++++++++++++++++++- resources/views/clients/show.blade.php | 5 ++++- 3 files changed, 28 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/ClientPortalController.php b/app/Http/Controllers/ClientPortalController.php index 11f37a7074a3..e0de71a3ed1a 100644 --- a/app/Http/Controllers/ClientPortalController.php +++ b/app/Http/Controllers/ClientPortalController.php @@ -228,6 +228,11 @@ class ClientPortalController extends BaseController public function dashboard($contactKey = false) { + if (request()->silent) { + session(['silent' => true]); + return redirect(request()->url()); + } + if ($contactKey) { if (! $contact = Contact::where('contact_key', '=', $contactKey)->first()) { return $this->returnError(); diff --git a/app/Models/Contact.php b/app/Models/Contact.php index 593eb207077e..c19ba4bda6cb 100644 --- a/app/Models/Contact.php +++ b/app/Models/Contact.php @@ -2,6 +2,7 @@ namespace App\Models; +use Utils; use Illuminate\Auth\Authenticatable; use Illuminate\Auth\Passwords\CanResetPassword; use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract; @@ -142,6 +143,23 @@ class Contact extends EntityModel implements AuthenticatableContract, CanResetPa */ public function getLinkAttribute() { - return \URL::to('client/dashboard/' . $this->contact_key); + if (! $this->account) { + $this->load('account'); + } + + $account = $this->account; + $url = trim(SITE_URL, '/'); + + if ($account->hasFeature(FEATURE_CUSTOM_URL)) { + if (Utils::isNinjaProd()) { + $url = $account->present()->clientPortalLink(); + } + + if ($this->account->subdomain) { + $url = Utils::replaceSubdomain($url, $account->subdomain); + } + } + + return "{$url}/client/dashboard/{$this->contact_key}"; } } diff --git a/resources/views/clients/show.blade.php b/resources/views/clients/show.blade.php index a8aa2a8fc14f..702437d8eddf 100644 --- a/resources/views/clients/show.blade.php +++ b/resources/views/clients/show.blade.php @@ -157,7 +157,10 @@ {{ $contact->phone }}
@endif @if (Auth::user()->confirmed && $client->account->enable_client_portal) - {{ trans('texts.view_client_portal') }}
+ {{ trans('texts.view_client_portal') }} + +
@endif @endforeach