diff --git a/app/Jobs/Entity/CreateEntityPdf.php b/app/Jobs/Entity/CreateEntityPdf.php index ce3e37103a20..e2467e254397 100644 --- a/app/Jobs/Entity/CreateEntityPdf.php +++ b/app/Jobs/Entity/CreateEntityPdf.php @@ -128,14 +128,17 @@ class CreateEntityPdf implements ShouldQueue $template = new PdfMakerDesign(strtolower($design->name)); } + $variables = $html->generateLabelsAndValues(); + $state = [ 'template' => $template->elements([ 'client' => $this->entity->client, 'entity' => $this->entity, 'pdf_variables' => (array) $this->entity->company->settings->pdf_variables, '$product' => $design->design->product, + 'variables' => $variables, ]), - 'variables' => $html->generateLabelsAndValues(), + 'variables' => $variables, 'options' => [ 'all_pages_header' => $this->entity->client->getSetting('all_pages_header'), 'all_pages_footer' => $this->entity->client->getSetting('all_pages_footer'), diff --git a/app/Services/PdfMaker/Design.php b/app/Services/PdfMaker/Design.php index 32b991d6f8e7..948f0d4bbf3f 100644 --- a/app/Services/PdfMaker/Design.php +++ b/app/Services/PdfMaker/Design.php @@ -421,6 +421,10 @@ class Design extends BaseDesign public function tableTotals(): array { + $_variables = array_key_exists('variables', $this->context) + ? $this->context['variables'] + : []; + if ($this->type == 'delivery_note') { return []; } @@ -429,10 +433,11 @@ class Design extends BaseDesign $elements = [ ['element' => 'div', 'properties' => ['style' => 'display: flex; flex-direction: column;'], 'elements' => [ - ['element' => 'p', 'content' => '$entity.public_notes', 'properties' => ['data-ref' => 'total_table-public_notes', 'style' => 'text-align: left;']], + ['element' => 'p', 'content' => strtr($_variables['values']['$entity.public_notes'], $_variables), 'properties' => ['data-ref' => 'total_table-public_notes', 'style' => 'text-align: left;']], ['element' => 'p', 'content' => '', 'properties' => ['style' => 'text-align: left; display: flex; flex-direction: column;'], 'elements' => [ ['element' => 'span', 'content' => '$entity.terms_label: ', 'properties' => ['hidden' => $this->entityVariableCheck('$entity.terms'), 'data-ref' => 'total_table-terms-label', 'style' => 'font-weight: bold; text-align: left;']], - ['element' => 'span', 'content' => '$entity.terms', 'properties' => ['data-ref' => 'total_table-terms', 'style' => 'text-align: left;']], + ['element' => 'span', 'content' => strtr($_variables['values']['$entity.terms'], $_variables), 'properties' => ['data-ref' => 'total_table-terms', 'style' => 'text-align: left;']], + ['element' => 'span', 'content' => strtr($_variables['values']['$entity_footer'], $_variables), 'properties' => ['data-ref' => 'total_table-footer', 'style' => 'text-align: left;']], ]], ['element' => 'img', 'properties' => ['hidden' => $this->client->getSetting('signature_on_pdf'), 'style' => 'max-width: 50%; height: auto;', 'src' => '$contact.signature']], ['element' => 'div', 'properties' => ['style' => 'margin-top: 1.5rem; display: flex; align-items: flex-start;'], 'elements' => [ diff --git a/app/Utils/HtmlEngine.php b/app/Utils/HtmlEngine.php index 6f03d88297a8..bd4b0cd952a1 100644 --- a/app/Utils/HtmlEngine.php +++ b/app/Utils/HtmlEngine.php @@ -121,7 +121,7 @@ class HtmlEngine if ($this->entity_string == 'invoice' || $this->entity_string == 'recurring_invoice') { $data['$entity'] = ['value' => '', 'label' => ctrans('texts.invoice')]; $data['$number'] = ['value' => $this->entity->number ?: ' ', 'label' => ctrans('texts.invoice_number')]; - $data['$entity.terms'] = ['value' => $this->entity->terms ?: ' ', 'label' => ctrans('texts.invoice_terms')]; + $data['$entity.terms'] = ['value' => $this->entity->terms ?: '', 'label' => ctrans('texts.invoice_terms')]; $data['$terms'] = &$data['$entity.terms']; $data['$view_link'] = ['value' => ''.ctrans('texts.view_invoice').'', 'label' => ctrans('texts.view_invoice')]; $data['$view_url'] = ['value' => $this->invitation->getLink(), 'label' => ctrans('texts.view_invoice')]; @@ -129,8 +129,8 @@ class HtmlEngine if ($this->entity_string == 'quote') { $data['$entity'] = ['value' => '', 'label' => ctrans('texts.quote')]; - $data['$number'] = ['value' => $this->entity->number ?: ' ', 'label' => ctrans('texts.quote_number')]; - $data['$entity.terms'] = ['value' => $this->entity->terms ?: ' ', 'label' => ctrans('texts.quote_terms')]; + $data['$number'] = ['value' => $this->entity->number ?: '', 'label' => ctrans('texts.quote_number')]; + $data['$entity.terms'] = ['value' => $this->entity->terms ?: '', 'label' => ctrans('texts.quote_terms')]; $data['$terms'] = &$data['$entity.terms']; $data['$view_link'] = ['value' => ''.ctrans('texts.view_quote').'', 'label' => ctrans('texts.view_quote')]; $data['$view_url'] = ['value' => $this->invitation->getLink(), 'label' => ctrans('texts.view_quote')]; @@ -138,8 +138,8 @@ class HtmlEngine if ($this->entity_string == 'credit') { $data['$entity'] = ['value' => '', 'label' => ctrans('texts.credit')]; - $data['$number'] = ['value' => $this->entity->number ?: ' ', 'label' => ctrans('texts.credit_number')]; - $data['$entity.terms'] = ['value' => $this->entity->terms ?: ' ', 'label' => ctrans('texts.credit_terms')]; + $data['$number'] = ['value' => $this->entity->number ?: '', 'label' => ctrans('texts.credit_number')]; + $data['$entity.terms'] = ['value' => $this->entity->terms ?: '', 'label' => ctrans('texts.credit_terms')]; $data['$terms'] = &$data['$entity.terms']; $data['$view_link'] = ['value' => ''.ctrans('texts.view_credit').'', 'label' => ctrans('texts.view_credit')]; $data['$view_url'] = ['value' => $this->invitation->getLink(), 'label' => ctrans('texts.view_credit')]; diff --git a/database/migrations/2021_02_10_115919_update_designs.php b/database/migrations/2021_02_16_115919_update_designs.php similarity index 100% rename from database/migrations/2021_02_10_115919_update_designs.php rename to database/migrations/2021_02_16_115919_update_designs.php diff --git a/resources/views/pdf-designs/business.html b/resources/views/pdf-designs/business.html index 427a77b8f8c8..b1951dfec592 100644 --- a/resources/views/pdf-designs/business.html +++ b/resources/views/pdf-designs/business.html @@ -259,4 +259,4 @@
- + diff --git a/resources/views/pdf-designs/clean.html b/resources/views/pdf-designs/clean.html index 45e99ab0e336..da5106f2082e 100644 --- a/resources/views/pdf-designs/clean.html +++ b/resources/views/pdf-designs/clean.html @@ -217,4 +217,4 @@
- + diff --git a/resources/views/pdf-designs/creative.html b/resources/views/pdf-designs/creative.html index e9026344f4eb..7a316f21467b 100644 --- a/resources/views/pdf-designs/creative.html +++ b/resources/views/pdf-designs/creative.html @@ -215,4 +215,4 @@
- + diff --git a/resources/views/pdf-designs/elegant.html b/resources/views/pdf-designs/elegant.html index 367ee8f13ac6..1ac6a8b8e749 100644 --- a/resources/views/pdf-designs/elegant.html +++ b/resources/views/pdf-designs/elegant.html @@ -215,5 +215,5 @@
- + diff --git a/resources/views/pdf-designs/hipster.html b/resources/views/pdf-designs/hipster.html index a36bb42ad376..1fe04a9b37ac 100644 --- a/resources/views/pdf-designs/hipster.html +++ b/resources/views/pdf-designs/hipster.html @@ -249,4 +249,4 @@
- + diff --git a/resources/views/pdf-designs/modern.html b/resources/views/pdf-designs/modern.html index dcc24a87a4d3..1e455903de7a 100644 --- a/resources/views/pdf-designs/modern.html +++ b/resources/views/pdf-designs/modern.html @@ -235,7 +235,7 @@
- + diff --git a/resources/views/pdf-designs/playful.html b/resources/views/pdf-designs/playful.html index 3cf3caac55c3..939ebf5bdbaa 100644 --- a/resources/views/pdf-designs/playful.html +++ b/resources/views/pdf-designs/playful.html @@ -285,7 +285,7 @@