From 8170831b733123accc5b7f546d4079bf4ea1429f Mon Sep 17 00:00:00 2001 From: David Bomba Date: Thu, 15 Dec 2022 23:17:50 +1100 Subject: [PATCH] Do not autobilling recurring invoices in draft state --- app/Jobs/RecurringInvoice/SendRecurring.php | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/app/Jobs/RecurringInvoice/SendRecurring.php b/app/Jobs/RecurringInvoice/SendRecurring.php index dbe8d78dc3fd..63f6ecc2d645 100644 --- a/app/Jobs/RecurringInvoice/SendRecurring.php +++ b/app/Jobs/RecurringInvoice/SendRecurring.php @@ -99,7 +99,6 @@ class SendRecurring implements ShouldQueue /* 09-01-2022 ensure we create the PDFs at this point in time! */ $invoice->service()->touchPdf(true); - //nlog('updating recurring invoice dates'); /* Set next date here to prevent a recurring loop forming */ $this->recurring_invoice->next_send_date = $this->recurring_invoice->nextSendDate(); $this->recurring_invoice->next_send_date_client = $this->recurring_invoice->nextSendDateClient(); @@ -111,10 +110,6 @@ class SendRecurring implements ShouldQueue $this->recurring_invoice->setCompleted(); } - //nlog('next send date = '.$this->recurring_invoice->next_send_date); - // nlog('remaining cycles = '.$this->recurring_invoice->remaining_cycles); - //nlog('last send date = '.$this->recurring_invoice->last_sent_date); - $this->recurring_invoice->save(); event('eloquent.created: App\Models\Invoice', $invoice); @@ -125,8 +120,6 @@ class SendRecurring implements ShouldQueue $invoice->entityEmailEvent($invoice->invitations->first(), 'invoice', 'email_template_invoice'); } - nlog("Invoice {$invoice->number} created"); - $invoice->invitations->each(function ($invitation) use ($invoice) { if ($invitation->contact && ! $invitation->contact->trashed() && strlen($invitation->contact->email) >= 1 && $invoice->client->getSetting('auto_email_invoice')) { try { @@ -140,15 +133,14 @@ class SendRecurring implements ShouldQueue }); } - if ($invoice->client->getSetting('auto_bill_date') == 'on_send_date' && $invoice->auto_bill_enabled) { + //auto bill, BUT NOT DRAFTS!! + if ($invoice->auto_bill_enabled && $invoice->client->getSetting('auto_bill_date') == 'on_send_date' && $invoice->client->getSetting('auto_email_invoice')) { nlog("attempting to autobill {$invoice->number}"); - // $invoice->service()->autoBill(); AutoBill::dispatch($invoice->id, $this->db)->delay(rand(1,2)); - } elseif ($invoice->client->getSetting('auto_bill_date') == 'on_due_date' && $invoice->auto_bill_enabled) { + } elseif ($invoice->auto_bill_enabled && $invoice->client->getSetting('auto_bill_date') == 'on_due_date' && $invoice->client->getSetting('auto_email_invoice')) { if ($invoice->due_date && Carbon::parse($invoice->due_date)->startOfDay()->lte(now()->startOfDay())) { nlog("attempting to autobill {$invoice->number}"); - // $invoice->service()->autoBill(); AutoBill::dispatch($invoice->id, $this->db)->delay(rand(1,2)); } }