From 747975998f91f9e46392ed3c86e5443415b7595f Mon Sep 17 00:00:00 2001 From: David Bomba Date: Sat, 18 Nov 2023 18:45:26 +1100 Subject: [PATCH] Fixes for templates --- app/Http/Controllers/CreditController.php | 4 +--- app/Http/Controllers/PaymentController.php | 4 ++-- app/Http/Controllers/ProjectController.php | 4 ++-- app/Http/Controllers/PurchaseOrderController.php | 6 +----- app/Http/Controllers/QuoteController.php | 4 ++-- app/Http/Requests/Credit/BulkCreditRequest.php | 10 ++++++++-- app/Http/Requests/Project/BulkProjectRequest.php | 2 +- .../PurchaseOrder/BulkPurchaseOrderRequest.php | 5 ++++- app/Http/Requests/Quote/BulkActionQuoteRequest.php | 6 +++++- app/Services/Template/TemplateAction.php | 2 ++ app/Services/Template/TemplateService.php | 2 +- 11 files changed, 29 insertions(+), 20 deletions(-) diff --git a/app/Http/Controllers/CreditController.php b/app/Http/Controllers/CreditController.php index 41094bc129bd..439c986f19e9 100644 --- a/app/Http/Controllers/CreditController.php +++ b/app/Http/Controllers/CreditController.php @@ -557,7 +557,7 @@ class CreditController extends BaseController $hash_or_response = $request->boolean('send_email') ? 'email sent' : \Illuminate\Support\Str::uuid(); TemplateAction::dispatch( - $credits->pluck('id')->toArray(), + $credits->pluck('hashed_id')->toArray(), $request->template_id, Credit::class, $user->id, @@ -570,8 +570,6 @@ class CreditController extends BaseController return response()->json(['message' => $hash_or_response], 200); } - - $credits->each(function ($credit, $key) use ($action, $user) { if ($user->can('edit', $credit)) { $this->performAction($credit, $action, true); diff --git a/app/Http/Controllers/PaymentController.php b/app/Http/Controllers/PaymentController.php index 0468bc5eefad..d413c7029612 100644 --- a/app/Http/Controllers/PaymentController.php +++ b/app/Http/Controllers/PaymentController.php @@ -519,9 +519,9 @@ class PaymentController extends BaseController if($action == 'template' && $user->can('view', $payments->first())) { $hash_or_response = request()->boolean('send_email') ? 'email sent' : \Illuminate\Support\Str::uuid(); - +nlog($payments->pluck('hashed_id')->toArray()); TemplateAction::dispatch( - $payments->pluck('id')->toArray(), + $payments->pluck('hashed_id')->toArray(), $request->template_id, Payment::class, $user->id, diff --git a/app/Http/Controllers/ProjectController.php b/app/Http/Controllers/ProjectController.php index 26cb944affea..79dc2c3b8a66 100644 --- a/app/Http/Controllers/ProjectController.php +++ b/app/Http/Controllers/ProjectController.php @@ -29,7 +29,7 @@ use App\Http\Requests\Project\CreateProjectRequest; use App\Http\Requests\Project\UpdateProjectRequest; use App\Http\Requests\Project\UploadProjectRequest; use App\Http\Requests\Project\DestroyProjectRequest; -use App\Http\Requests\PrTaskoject\BulkProjectRequest; +use App\Http\Requests\Project\BulkProjectRequest; /** * Class ProjectController. @@ -508,7 +508,7 @@ class ProjectController extends BaseController $hash_or_response = $request->boolean('send_email') ? 'email sent' : \Illuminate\Support\Str::uuid(); TemplateAction::dispatch( - $projects->pluck('id')->toArray(), + $projects->pluck('hashed_id')->toArray(), $request->template_id, Project::class, $user->id, diff --git a/app/Http/Controllers/PurchaseOrderController.php b/app/Http/Controllers/PurchaseOrderController.php index 528442886b22..61fa572c5bfe 100644 --- a/app/Http/Controllers/PurchaseOrderController.php +++ b/app/Http/Controllers/PurchaseOrderController.php @@ -525,15 +525,12 @@ class PurchaseOrderController extends BaseController }, 'print.pdf', ['Content-Type' => 'application/pdf']); } - - - if($action == 'template' && $user->can('view', $purchase_orders->first())) { $hash_or_response = $request->boolean('send_email') ? 'email sent' : \Illuminate\Support\Str::uuid(); TemplateAction::dispatch( - $purchase_orders->pluck('id')->toArray(), + $purchase_orders->pluck('hashed_id')->toArray(), $request->template_id, PurchaseOrder::class, $user->id, @@ -546,7 +543,6 @@ class PurchaseOrderController extends BaseController return response()->json(['message' => $hash_or_response], 200); } - /* * Send the other actions to the switch */ diff --git a/app/Http/Controllers/QuoteController.php b/app/Http/Controllers/QuoteController.php index c5c6532f0b59..b8fd4bae7fad 100644 --- a/app/Http/Controllers/QuoteController.php +++ b/app/Http/Controllers/QuoteController.php @@ -518,9 +518,9 @@ class QuoteController extends BaseController /** @var \App\Models\User $user */ $user = auth()->user(); - $action = request()->input('action'); + $action = $request->input('action'); - $ids = request()->input('ids'); + $ids = $request->input('ids'); if (Ninja::isHosted() && (stripos($action, 'email') !== false) && !$user->account->account_sms_verified) { return response(['message' => 'Please verify your account to send emails.'], 400); diff --git a/app/Http/Requests/Credit/BulkCreditRequest.php b/app/Http/Requests/Credit/BulkCreditRequest.php index fd04b4216320..a1e0c891923b 100644 --- a/app/Http/Requests/Credit/BulkCreditRequest.php +++ b/app/Http/Requests/Credit/BulkCreditRequest.php @@ -35,9 +35,15 @@ class BulkCreditRequest extends FormRequest */ public function rules() { + /** @var \App\Models\User $user */ + $user = auth()->user(); + return [ - 'ids' => ['required','bail','array',Rule::exists('credits', 'id')->where('company_id', auth()->user()->company()->id)], - 'action' => 'required|bail|in:archive,restore,delete,email,bulk_download,bulk_print,mark_paid,clone_to_credit,history,mark_sent,download,send_email' + 'ids' => ['required','bail','array',Rule::exists('credits', 'id')->where('company_id', $user->company()->id)], + 'action' => 'required|bail|in:archive,restore,delete,email,bulk_download,bulk_print,mark_paid,clone_to_credit,history,mark_sent,download,send_email,template', + 'template' => 'sometimes|string', + 'template_id' => 'sometimes|string', + 'send_email' => 'sometimes|bool' ]; } diff --git a/app/Http/Requests/Project/BulkProjectRequest.php b/app/Http/Requests/Project/BulkProjectRequest.php index 0813e429353e..63d677f58845 100644 --- a/app/Http/Requests/Project/BulkProjectRequest.php +++ b/app/Http/Requests/Project/BulkProjectRequest.php @@ -9,7 +9,7 @@ * @license https://www.elastic.co/licensing/elastic-license */ -namespace App\Http\Requests\PrTaskoject; +namespace App\Http\Requests\Project; use App\Http\Requests\Request; diff --git a/app/Http/Requests/PurchaseOrder/BulkPurchaseOrderRequest.php b/app/Http/Requests/PurchaseOrder/BulkPurchaseOrderRequest.php index 28a581ffd3d8..15a877901303 100644 --- a/app/Http/Requests/PurchaseOrder/BulkPurchaseOrderRequest.php +++ b/app/Http/Requests/PurchaseOrder/BulkPurchaseOrderRequest.php @@ -30,7 +30,10 @@ class BulkPurchaseOrderRequest extends Request { return [ 'ids' => 'required|bail|array|min:1', - 'action' => 'in:archive,restore,delete,email,bulk_download,bulk_print,mark_sent,download,send_email,add_to_inventory,expense,cancel' + 'action' => 'in:template,archive,restore,delete,email,bulk_download,bulk_print,mark_sent,download,send_email,add_to_inventory,expense,cancel', + 'template' => 'sometimes|string', + 'template_id' => 'sometimes|string', + 'send_email' => 'sometimes|bool' ]; } } diff --git a/app/Http/Requests/Quote/BulkActionQuoteRequest.php b/app/Http/Requests/Quote/BulkActionQuoteRequest.php index cb77becc069a..808322c3e471 100644 --- a/app/Http/Requests/Quote/BulkActionQuoteRequest.php +++ b/app/Http/Requests/Quote/BulkActionQuoteRequest.php @@ -31,7 +31,11 @@ class BulkActionQuoteRequest extends Request $input = $this->all(); $rules = [ - 'action' => 'sometimes|in:convert_to_invoice,convert_to_project,email,bulk_download,bulk_print,clone_to_invoice,approve,download,restore,archive,delete,send_email,mark_sent', + 'action' => 'sometimes|in:template,convert_to_invoice,convert_to_project,email,bulk_download,bulk_print,clone_to_invoice,approve,download,restore,archive,delete,send_email,mark_sent', + 'ids' => 'required|array', + 'template' => 'sometimes|string', + 'template_id' => 'sometimes|string', + 'send_email' => 'sometimes|bool' ]; if (in_array($input['action'], ['convert,convert_to_invoice'])) { diff --git a/app/Services/Template/TemplateAction.php b/app/Services/Template/TemplateAction.php index f717aa172437..0f4e2897d0b5 100644 --- a/app/Services/Template/TemplateAction.php +++ b/app/Services/Template/TemplateAction.php @@ -103,6 +103,8 @@ class TemplateAction implements ShouldQueue ->where('company_id', $this->company->id) ->get(); + nlog($result->toArray()); + if($result->count() <= 1) { $data[$key] = collect($result); } else { diff --git a/app/Services/Template/TemplateService.php b/app/Services/Template/TemplateService.php index 6b6896cae0c6..3c631b084caf 100644 --- a/app/Services/Template/TemplateService.php +++ b/app/Services/Template/TemplateService.php @@ -120,7 +120,7 @@ class TemplateService * @return self */ public function build(array $data): self - { + {nlog($data); $this->compose() ->processData($data) ->parseNinjaBlocks()