diff --git a/app/Jobs/RecurringInvoice/SendRecurring.php b/app/Jobs/RecurringInvoice/SendRecurring.php index 4370a7320db3..6ee4bf3b3954 100644 --- a/app/Jobs/RecurringInvoice/SendRecurring.php +++ b/app/Jobs/RecurringInvoice/SendRecurring.php @@ -56,6 +56,17 @@ class SendRecurring implements ShouldQueue */ public function handle() : void { + //reset all contacts here + $this->recurring_invoice->client->contacts()->update(['send_email' => false]); + + $this->recurring_invoice->invitations->each(function ($invitation){ + + $contact = $invitation->contact; + $contact->send_email = true; + $contact->save(); + + }); + // Generate Standard Invoice $invoice = RecurringInvoiceToInvoiceFactory::create($this->recurring_invoice, $this->recurring_invoice->client); @@ -67,7 +78,7 @@ class SendRecurring implements ShouldQueue $invoice = $invoice->service() ->markSent() ->applyNumber() - ->createInvitations() + ->createInvitations() //need to only link invitations to those in the recurring invoice ->fillDefaults() ->save(); diff --git a/app/Services/Recurring/RecurringService.php b/app/Services/Recurring/RecurringService.php index 89ea2b466f07..0020add6e1d9 100644 --- a/app/Services/Recurring/RecurringService.php +++ b/app/Services/Recurring/RecurringService.php @@ -49,16 +49,15 @@ class RecurringService public function start() { - //make sure next_send_date is either now or in the future else return. - // if(Carbon::parse($this->recurring_entity->next_send_date)->lt(now())) - // return $this; if ($this->recurring_entity->remaining_cycles == 0) { return $this; } - $this->createInvitations()->setStatus(RecurringInvoice::STATUS_ACTIVE); + // $this->createInvitations()->setStatus(RecurringInvoice::STATUS_ACTIVE); + $this->setStatus(RecurringInvoice::STATUS_ACTIVE); + return $this; }