diff --git a/app/Http/Controllers/RecurringInvoiceController.php b/app/Http/Controllers/RecurringInvoiceController.php index cd81b2d51ba5..f88a07ccabae 100644 --- a/app/Http/Controllers/RecurringInvoiceController.php +++ b/app/Http/Controllers/RecurringInvoiceController.php @@ -210,6 +210,10 @@ class RecurringInvoiceController extends BaseController $recurring_invoice->next_send_date = Carbon::parse($recurring_invoice->next_send_date)->startOfDay()->addSeconds($offset); $recurring_invoice->save(); + $recurring_invoice->service() + ->triggeredActions($request) + ->save(); + return $this->itemResponse($recurring_invoice); } diff --git a/app/Http/Requests/RecurringInvoice/StoreRecurringInvoiceRequest.php b/app/Http/Requests/RecurringInvoice/StoreRecurringInvoiceRequest.php index d2f4e09d2893..8f764f3b2e78 100644 --- a/app/Http/Requests/RecurringInvoice/StoreRecurringInvoiceRequest.php +++ b/app/Http/Requests/RecurringInvoice/StoreRecurringInvoiceRequest.php @@ -105,7 +105,7 @@ class StoreRecurringInvoiceRequest extends Request if (isset($input['auto_bill'])) { $input['auto_bill_enabled'] = $this->setAutoBillFlag($input['auto_bill']); } else { - if ($client = Client::find($input['client_id'])) { + if (array_key_exists('client_id', $input) && $client = Client::find($input['client_id'])) { $input['auto_bill'] = $client->getSetting('auto_bill'); $input['auto_bill_enabled'] = $this->setAutoBillFlag($input['auto_bill']); } diff --git a/app/Services/Recurring/RecurringService.php b/app/Services/Recurring/RecurringService.php index 6bd522120edd..0f7d8b892e2c 100644 --- a/app/Services/Recurring/RecurringService.php +++ b/app/Services/Recurring/RecurringService.php @@ -97,6 +97,20 @@ class RecurringService return $this; } + public function triggeredActions($request) + { + + if ($request->has('start') && $request->input('start') == 'true') { + $this->start(); + } + + if ($request->has('stop') && $request->input('stop') == 'true') { + $this->stop(); + } + + return $this; + } + public function fillDefaults() {