wasApproved()) { return; } if ($estimate->isDirty('expiration_date') && $estimate->status === EstimateStatus::Expired && ! $estimate->shouldBeExpired()) { $estimate->status = $estimate->hasBeenSent() ? EstimateStatus::Sent : EstimateStatus::Unsent; return; } if ($estimate->shouldBeExpired()) { $estimate->status = EstimateStatus::Expired; } } public function deleted(Estimate $estimate): void { DB::transaction(function () use ($estimate) { $estimate->lineItems()->each(function (DocumentLineItem $lineItem) { $lineItem->delete(); }); }); } }