diff --git a/app/Http/Controllers/RecurringInvoiceController.php b/app/Http/Controllers/RecurringInvoiceController.php index aae571d71dcb..c0412442dc4b 100644 --- a/app/Http/Controllers/RecurringInvoiceController.php +++ b/app/Http/Controllers/RecurringInvoiceController.php @@ -387,7 +387,6 @@ class RecurringInvoiceController extends BaseController $recurring_invoice->service() ->triggeredActions($request) - // ->deletePdf() ->save(); event(new RecurringInvoiceWasUpdated($recurring_invoice, $recurring_invoice->company, Ninja::eventVars(auth()->user() ? auth()->user()->id : null))); diff --git a/app/Models/RecurringInvoice.php b/app/Models/RecurringInvoice.php index 44e8c61265cf..af15ce73bd07 100644 --- a/app/Models/RecurringInvoice.php +++ b/app/Models/RecurringInvoice.php @@ -343,6 +343,21 @@ class RecurringInvoice extends BaseModel } } + public function calculateStatus() + { + + if($this->remaining_cycles == 0) { + return self::STATUS_COMPLETED; + } + elseif ($this->status_id == self::STATUS_ACTIVE && Carbon::parse($this->next_send_date)->isFuture()) { + return self::STATUS_PENDING; + } + else { + return $this->status_id; + } + + } + public function nextSendDate() :?Carbon { if (! $this->next_send_date_client) { diff --git a/app/Repositories/BaseRepository.php b/app/Repositories/BaseRepository.php index 22e2d9cd93d3..6ac2775eeeed 100644 --- a/app/Repositories/BaseRepository.php +++ b/app/Repositories/BaseRepository.php @@ -365,6 +365,7 @@ class BaseRepository $model = $model->calc()->getRecurringInvoice(); + $model->status_id = $model->calculateStatus(); if ($this->new_model) { event('eloquent.created: App\Models\RecurringInvoice', $model);