From f21a60c1593932d91dbd6238003bed26c75ee048 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Tue, 27 Jul 2021 18:04:46 +1000 Subject: [PATCH 1/3] Fixes for live preview --- app/Http/Controllers/PreviewController.php | 40 ++++++++++++++++++++-- 1 file changed, 37 insertions(+), 3 deletions(-) diff --git a/app/Http/Controllers/PreviewController.php b/app/Http/Controllers/PreviewController.php index 82cb7b4c0220..53a612761f79 100644 --- a/app/Http/Controllers/PreviewController.php +++ b/app/Http/Controllers/PreviewController.php @@ -11,15 +11,24 @@ namespace App\Http\Controllers; +use App\Factory\CreditFactory; use App\Factory\InvoiceFactory; +use App\Factory\QuoteFactory; +use App\Factory\RecurringInvoiceFactory; use App\Http\Requests\Invoice\StoreInvoiceRequest; use App\Http\Requests\Preview\PreviewInvoiceRequest; use App\Jobs\Util\PreviewPdf; use App\Models\Client; use App\Models\ClientContact; +use App\Models\Credit; use App\Models\Invoice; use App\Models\InvoiceInvitation; +use App\Models\Quote; +use App\Models\RecurringInvoice; +use App\Repositories\CreditRepository; use App\Repositories\InvoiceRepository; +use App\Repositories\QuoteRepository; +use App\Repositories\RecurringInvoiceRepository; use App\Services\PdfMaker\Design as PdfMakerDesign; use App\Services\PdfMaker\Design; use App\Services\PdfMaker\PdfMaker; @@ -156,15 +165,40 @@ class PreviewController extends BaseController public function live(PreviewInvoiceRequest $request) { - if(request()->input('entity') == 'invoice'){ + if($request->input('entity') == 'invoice'){ $repo = new InvoiceRepository(); $factory = InvoiceFactory::create(auth()->user()->company()->id, auth()->user()->id); + $class = Invoice::class; } + elseif($request->input('entity') == 'quote'){ + $repo = new QuoteRepository(); + $factory = QuoteFactory::create(auth()->user()->company()->id, auth()->user()->id); + $class = Quote::class; + } + elseif($request->input('entity') == 'credit'){ + $repo = new CreditRepository(); + $factory = CreditFactory::create(auth()->user()->company()->id, auth()->user()->id); + $class = Credit::class; + } + elseif($request->input('entity') == 'recurring_invoice'){ + $repo = new RecurringInvoiceRepository(); + $factory = RecurringInvoiceFactory::create(auth()->user()->company()->id, auth()->user()->id); + $class = RecurringInvoice::class; + } + DB::connection(config('database.default'))->beginTransaction(); - $entity = ucfirst(request()->input('entity')); - $entity_obj = $repo->save(request()->all(), $factory); + if($request->has('entity_id')){ + + $entity_obj = $class::whereId($this->decodePrimaryKey($request->input('entity_id')))->company()->first(); + $entity_obj = $repo->save($request->all(), $entity_obj); + + } + else { + $entity_obj = $repo->save($request->all(), $factory); + } + $entity_obj->load('client'); App::forgetInstance('translator'); From efad096dfb9adcad3b2ee3fd09d0894291403e54 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Tue, 27 Jul 2021 18:32:29 +1000 Subject: [PATCH 2/3] Fixes for live preview --- app/Http/Requests/Preview/PreviewInvoiceRequest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Http/Requests/Preview/PreviewInvoiceRequest.php b/app/Http/Requests/Preview/PreviewInvoiceRequest.php index faaf7707f341..0f8334b2eeb5 100644 --- a/app/Http/Requests/Preview/PreviewInvoiceRequest.php +++ b/app/Http/Requests/Preview/PreviewInvoiceRequest.php @@ -53,7 +53,7 @@ class PreviewInvoiceRequest extends Request $input['line_items'] = isset($input['line_items']) ? $this->cleanItems($input['line_items']) : []; $input['amount'] = 0; $input['balance'] = 0; - $input['number'] = null; + $input['number'] = ctrans('texts.live_preview') . "# ". rand(0,100); $this->replace($input); } From 284203401ba7115300410ede47d643ff2273fe04 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Tue, 27 Jul 2021 19:38:40 +1000 Subject: [PATCH 3/3] Fixes for live preview --- app/Http/Requests/Preview/PreviewInvoiceRequest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Http/Requests/Preview/PreviewInvoiceRequest.php b/app/Http/Requests/Preview/PreviewInvoiceRequest.php index 0f8334b2eeb5..783035243f86 100644 --- a/app/Http/Requests/Preview/PreviewInvoiceRequest.php +++ b/app/Http/Requests/Preview/PreviewInvoiceRequest.php @@ -53,7 +53,7 @@ class PreviewInvoiceRequest extends Request $input['line_items'] = isset($input['line_items']) ? $this->cleanItems($input['line_items']) : []; $input['amount'] = 0; $input['balance'] = 0; - $input['number'] = ctrans('texts.live_preview') . "# ". rand(0,100); + $input['number'] = ctrans('texts.live_preview') . " #". rand(0,1000); $this->replace($input); }