Fixes for templates

This commit is contained in:
David Bomba 2023-11-18 18:45:26 +11:00
parent 1e845c46fe
commit 747975998f
11 changed files with 29 additions and 20 deletions

View File

@ -557,7 +557,7 @@ class CreditController extends BaseController
$hash_or_response = $request->boolean('send_email') ? 'email sent' : \Illuminate\Support\Str::uuid(); $hash_or_response = $request->boolean('send_email') ? 'email sent' : \Illuminate\Support\Str::uuid();
TemplateAction::dispatch( TemplateAction::dispatch(
$credits->pluck('id')->toArray(), $credits->pluck('hashed_id')->toArray(),
$request->template_id, $request->template_id,
Credit::class, Credit::class,
$user->id, $user->id,
@ -570,8 +570,6 @@ class CreditController extends BaseController
return response()->json(['message' => $hash_or_response], 200); return response()->json(['message' => $hash_or_response], 200);
} }
$credits->each(function ($credit, $key) use ($action, $user) { $credits->each(function ($credit, $key) use ($action, $user) {
if ($user->can('edit', $credit)) { if ($user->can('edit', $credit)) {
$this->performAction($credit, $action, true); $this->performAction($credit, $action, true);

View File

@ -519,9 +519,9 @@ class PaymentController extends BaseController
if($action == 'template' && $user->can('view', $payments->first())) { if($action == 'template' && $user->can('view', $payments->first())) {
$hash_or_response = request()->boolean('send_email') ? 'email sent' : \Illuminate\Support\Str::uuid(); $hash_or_response = request()->boolean('send_email') ? 'email sent' : \Illuminate\Support\Str::uuid();
nlog($payments->pluck('hashed_id')->toArray());
TemplateAction::dispatch( TemplateAction::dispatch(
$payments->pluck('id')->toArray(), $payments->pluck('hashed_id')->toArray(),
$request->template_id, $request->template_id,
Payment::class, Payment::class,
$user->id, $user->id,

View File

@ -29,7 +29,7 @@ use App\Http\Requests\Project\CreateProjectRequest;
use App\Http\Requests\Project\UpdateProjectRequest; use App\Http\Requests\Project\UpdateProjectRequest;
use App\Http\Requests\Project\UploadProjectRequest; use App\Http\Requests\Project\UploadProjectRequest;
use App\Http\Requests\Project\DestroyProjectRequest; use App\Http\Requests\Project\DestroyProjectRequest;
use App\Http\Requests\PrTaskoject\BulkProjectRequest; use App\Http\Requests\Project\BulkProjectRequest;
/** /**
* Class ProjectController. * Class ProjectController.
@ -508,7 +508,7 @@ class ProjectController extends BaseController
$hash_or_response = $request->boolean('send_email') ? 'email sent' : \Illuminate\Support\Str::uuid(); $hash_or_response = $request->boolean('send_email') ? 'email sent' : \Illuminate\Support\Str::uuid();
TemplateAction::dispatch( TemplateAction::dispatch(
$projects->pluck('id')->toArray(), $projects->pluck('hashed_id')->toArray(),
$request->template_id, $request->template_id,
Project::class, Project::class,
$user->id, $user->id,

View File

@ -525,15 +525,12 @@ class PurchaseOrderController extends BaseController
}, 'print.pdf', ['Content-Type' => 'application/pdf']); }, 'print.pdf', ['Content-Type' => 'application/pdf']);
} }
if($action == 'template' && $user->can('view', $purchase_orders->first())) { if($action == 'template' && $user->can('view', $purchase_orders->first())) {
$hash_or_response = $request->boolean('send_email') ? 'email sent' : \Illuminate\Support\Str::uuid(); $hash_or_response = $request->boolean('send_email') ? 'email sent' : \Illuminate\Support\Str::uuid();
TemplateAction::dispatch( TemplateAction::dispatch(
$purchase_orders->pluck('id')->toArray(), $purchase_orders->pluck('hashed_id')->toArray(),
$request->template_id, $request->template_id,
PurchaseOrder::class, PurchaseOrder::class,
$user->id, $user->id,
@ -546,7 +543,6 @@ class PurchaseOrderController extends BaseController
return response()->json(['message' => $hash_or_response], 200); return response()->json(['message' => $hash_or_response], 200);
} }
/* /*
* Send the other actions to the switch * Send the other actions to the switch
*/ */

View File

@ -518,9 +518,9 @@ class QuoteController extends BaseController
/** @var \App\Models\User $user */ /** @var \App\Models\User $user */
$user = auth()->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) { if (Ninja::isHosted() && (stripos($action, 'email') !== false) && !$user->account->account_sms_verified) {
return response(['message' => 'Please verify your account to send emails.'], 400); return response(['message' => 'Please verify your account to send emails.'], 400);

View File

@ -35,9 +35,15 @@ class BulkCreditRequest extends FormRequest
*/ */
public function rules() public function rules()
{ {
/** @var \App\Models\User $user */
$user = auth()->user();
return [ return [
'ids' => ['required','bail','array',Rule::exists('credits', 'id')->where('company_id', auth()->user()->company()->id)], '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' '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'
]; ];
} }

View File

@ -9,7 +9,7 @@
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */
namespace App\Http\Requests\PrTaskoject; namespace App\Http\Requests\Project;
use App\Http\Requests\Request; use App\Http\Requests\Request;

View File

@ -30,7 +30,10 @@ class BulkPurchaseOrderRequest extends Request
{ {
return [ return [
'ids' => 'required|bail|array|min:1', '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'
]; ];
} }
} }

View File

@ -31,7 +31,11 @@ class BulkActionQuoteRequest extends Request
$input = $this->all(); $input = $this->all();
$rules = [ $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'])) { if (in_array($input['action'], ['convert,convert_to_invoice'])) {

View File

@ -103,6 +103,8 @@ class TemplateAction implements ShouldQueue
->where('company_id', $this->company->id) ->where('company_id', $this->company->id)
->get(); ->get();
nlog($result->toArray());
if($result->count() <= 1) { if($result->count() <= 1) {
$data[$key] = collect($result); $data[$key] = collect($result);
} else { } else {

View File

@ -120,7 +120,7 @@ class TemplateService
* @return self * @return self
*/ */
public function build(array $data): self public function build(array $data): self
{ {nlog($data);
$this->compose() $this->compose()
->processData($data) ->processData($data)
->parseNinjaBlocks() ->parseNinjaBlocks()