diff --git a/app/Http/Controllers/CreditController.php b/app/Http/Controllers/CreditController.php index 1e868f46c00f..80d5d9e417ac 100644 --- a/app/Http/Controllers/CreditController.php +++ b/app/Http/Controllers/CreditController.php @@ -601,7 +601,18 @@ class CreditController extends BaseController } break; case 'email': - // EmailCredit::dispatch($credit, $credit->company); + + $credit->invitations->load('contact.client.country', 'credit.client.country', 'credit.company')->each(function ($invitation) use ($credit) { + EmailEntity::dispatch($invitation, $credit->company, 'credit'); + }); + + + if (! $bulk) { + return response()->json(['message'=>'email sent'], 200); + } + break; + + case 'send_email': $credit->invitations->load('contact.client.country', 'credit.client.country', 'credit.company')->each(function ($invitation) use ($credit) { EmailEntity::dispatch($invitation, $credit->company, 'credit'); diff --git a/app/Http/Controllers/InvoiceController.php b/app/Http/Controllers/InvoiceController.php index 168a6bbc0595..0b9d730e899d 100644 --- a/app/Http/Controllers/InvoiceController.php +++ b/app/Http/Controllers/InvoiceController.php @@ -745,13 +745,7 @@ class InvoiceController extends BaseController $this->itemResponse($invoice); } break; - // case 'reverse': - // $invoice = $invoice->service()->handleReversal()->deletePdf()->save(); - // if (! $bulk) { - // $this->itemResponse($invoice); - // } - // break; case 'email': //check query parameter for email_type and set the template else use calculateTemplate @@ -769,6 +763,24 @@ class InvoiceController extends BaseController } break; + case 'send_email': + //check query parameter for email_type and set the template else use calculateTemplate + + + if (request()->has('email_type') && property_exists($invoice->company->settings, request()->input('email_type'))) { + $this->reminder_template = $invoice->client->getSetting(request()->input('email_type')); + } else { + $this->reminder_template = $invoice->calculateTemplate('invoice'); + } + + BulkInvoiceJob::dispatch($invoice, $this->reminder_template); + + if (! $bulk) { + return response()->json(['message' => 'email sent'], 200); + } + break; + + default: return response()->json(['message' => ctrans('texts.action_unavailable', ['action' => $action])], 400); break; diff --git a/app/Http/Controllers/PurchaseOrderController.php b/app/Http/Controllers/PurchaseOrderController.php index 9be15daf35bf..959ed9f1ce18 100644 --- a/app/Http/Controllers/PurchaseOrderController.php +++ b/app/Http/Controllers/PurchaseOrderController.php @@ -648,6 +648,15 @@ class PurchaseOrderController extends BaseController } break; + case 'send_email': + //check query parameter for email_type and set the template else use calculateTemplate + PurchaseOrderEmail::dispatch($purchase_order, $purchase_order->company); + + if (! $bulk) { + return response()->json(['message' => 'email sent'], 200); + } + break; + case 'add_to_inventory': $purchase_order->service()->add_to_inventory(); diff --git a/app/Http/Controllers/QuoteController.php b/app/Http/Controllers/QuoteController.php index de586a99688f..f2afb1dfd11c 100644 --- a/app/Http/Controllers/QuoteController.php +++ b/app/Http/Controllers/QuoteController.php @@ -722,6 +722,13 @@ class QuoteController extends BaseController return response()->json(['message'=> ctrans('texts.sent_message')], 200); break; + + case 'send_email': + $quote->service()->sendEmail(); + + return response()->json(['message'=> ctrans('texts.sent_message')], 200); + break; + case 'mark_sent': $quote->service()->markSent()->save();