diff --git a/app/Utils/HtmlEngine.php b/app/Utils/HtmlEngine.php
index 6f891eeabe4f..3e691e418da3 100644
--- a/app/Utils/HtmlEngine.php
+++ b/app/Utils/HtmlEngine.php
@@ -153,6 +153,8 @@ class HtmlEngine
$data['$date'] = ['value' => $this->translateDate($this->entity->date, $this->entity->client->date_format(), $this->entity->client->locale()) ?: ' ', 'label' => ctrans('texts.credit_date')];
}
+ $data['$portal_url'] = ['value' => $this->invitation->getPortalLink(), 'label' =>''];
+
$data['$entity_number'] = &$data['$number'];
$data['$invoice.discount'] = ['value' => Number::formatMoney($this->entity_calc->getTotalDiscount(), $this->client) ?: ' ', 'label' => ctrans('texts.discount')];
$data['$discount'] = &$data['$invoice.discount'];
diff --git a/app/Utils/Traits/Inviteable.php b/app/Utils/Traits/Inviteable.php
index 290bf5c2e47c..2f40c2e60026 100644
--- a/app/Utils/Traits/Inviteable.php
+++ b/app/Utils/Traits/Inviteable.php
@@ -66,6 +66,30 @@ trait Inviteable
}
}
+ public function getPortalLink() :string
+ {
+
+ $domain = isset($this->company->portal_domain) ?: $this->company->domain();
+
+ switch ($this->company->portal_mode) {
+ case 'subdomain':
+ return $domain.'/client/';
+ break;
+ case 'iframe':
+ return $domain.'/client/';
+ //return $domain . $entity_type .'/'. $this->contact->client->client_hash .'/'. $this->key;
+ break;
+ case 'domain':
+ return $domain.'/client/';
+ break;
+
+ default:
+ return '';
+ break;
+ }
+
+ }
+
public function getAdminLink() :string
{
return $this->getLink().'?silent=true';