fix(subscription): add cancellation and date validation

This commit is contained in:
Jatin3128
2025-12-18 16:01:08 +05:30
parent 260e6fb979
commit 00c9e20df3

View File

@@ -561,6 +561,17 @@ class Subscription(Document):
self.current_invoice_start, self.current_invoice_end
) and self.can_generate_new_invoice(posting_date):
self.generate_invoice(posting_date=posting_date)
if self.end_date:
next_start = add_days(self.current_invoice_end, 1)
if getdate(next_start) > getdate(self.end_date):
if self.cancel_at_period_end:
self.cancel_subscription()
else:
self.set_subscription_status(posting_date=posting_date)
self.save()
return
self.update_subscription_period(add_days(self.current_invoice_end, 1))
elif posting_date and getdate(posting_date) > getdate(self.current_invoice_end):
self.update_subscription_period()