mirror of
https://github.com/frappe/erpnext.git
synced 2026-06-06 21:59:13 +00:00
fix(subscription): add cancellation and date validation
This commit is contained in:
@@ -561,6 +561,17 @@ class Subscription(Document):
|
|||||||
self.current_invoice_start, self.current_invoice_end
|
self.current_invoice_start, self.current_invoice_end
|
||||||
) and self.can_generate_new_invoice(posting_date):
|
) and self.can_generate_new_invoice(posting_date):
|
||||||
self.generate_invoice(posting_date=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))
|
self.update_subscription_period(add_days(self.current_invoice_end, 1))
|
||||||
elif posting_date and getdate(posting_date) > getdate(self.current_invoice_end):
|
elif posting_date and getdate(posting_date) > getdate(self.current_invoice_end):
|
||||||
self.update_subscription_period()
|
self.update_subscription_period()
|
||||||
|
|||||||
Reference in New Issue
Block a user