From 5458bf83b01fb83809ee4cad6312fcffb323e6a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Gayot?= Date: Thu, 22 Oct 2020 01:18:50 +0200 Subject: [PATCH] :bug: Fix invoice preview with custom designs --- app/Http/Controllers/PreviewController.php | 2 -- app/Jobs/Invoice/CreateInvoicePdf.php | 12 +++++++++--- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/app/Http/Controllers/PreviewController.php b/app/Http/Controllers/PreviewController.php index a59cd0a9286e..7637e07572fd 100644 --- a/app/Http/Controllers/PreviewController.php +++ b/app/Http/Controllers/PreviewController.php @@ -196,8 +196,6 @@ class PreviewController extends BaseController ->design($design) ->build(); - info($maker->getCompiledHTML(true)); - $file_path = PreviewPdf::dispatchNow($maker->getCompiledHTML(true), auth()->user()->company()); DB::rollBack(); diff --git a/app/Jobs/Invoice/CreateInvoicePdf.php b/app/Jobs/Invoice/CreateInvoicePdf.php index 965bde1c3a9a..44ec8de2b3b0 100644 --- a/app/Jobs/Invoice/CreateInvoicePdf.php +++ b/app/Jobs/Invoice/CreateInvoicePdf.php @@ -19,6 +19,7 @@ use App\Libraries\MultiDB; use App\Models\ClientContact; use App\Models\Company; use App\Models\Design; +use App\Services\PdfMaker\Design as PdfDesignModel; use App\Models\Invoice; use App\Services\PdfMaker\Design as PdfMakerDesign; use App\Services\PdfMaker\PdfMaker as PdfMakerService; @@ -87,7 +88,14 @@ class CreateInvoicePdf implements ShouldQueue $design = Design::find($invoice_design_id); $html = new HtmlEngine(null, $this->invitation, 'invoice'); - $template = new PdfMakerDesign(strtolower($design->name)); + if ($design->is_custom) { + $options = [ + 'custom_partials' => json_decode(json_encode($design->design), true) + ]; + $template = new PdfMakerDesign(PdfDesignModel::CUSTOM, $options); + } else { + $template = new PdfMakerDesign(strtolower($design->name)); + } $state = [ 'template' => $template->elements([ @@ -109,8 +117,6 @@ class CreateInvoicePdf implements ShouldQueue ->design($template) ->build(); - info($maker->getCompiledHTML()); - //todo - move this to the client creation stage so we don't keep hitting this unnecessarily Storage::makeDirectory($path, 0775);