wasApproved()) { return; } if ($invoice->isDirty('due_date') && $invoice->status === InvoiceStatus::Overdue && ! $invoice->shouldBeOverdue()) { $invoice->status = $invoice->hasBeenSent() ? InvoiceStatus::Sent : InvoiceStatus::Unsent; return; } if ($invoice->shouldBeOverdue()) { $invoice->status = InvoiceStatus::Overdue; } } public function deleted(Invoice $invoice): void { DB::transaction(function () use ($invoice) { $invoice->lineItems()->each(function (DocumentLineItem $lineItem) { $lineItem->delete(); }); $invoice->transactions()->each(function (Transaction $transaction) { $transaction->delete(); }); }); } }