From 3010996cc5216f084a3d65bd6a1bcd6e34b28d4f Mon Sep 17 00:00:00 2001 From: tundebabzy Date: Mon, 26 Feb 2018 15:51:32 +0100 Subject: [PATCH] adds `before_insert` methods: - set current_invoice_start - set current_invoice_end --- .../doctype/subscriptions/subscriptions.py | 21 ++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/erpnext/accounts/doctype/subscriptions/subscriptions.py b/erpnext/accounts/doctype/subscriptions/subscriptions.py index 1c667f8526..353e83ddd5 100644 --- a/erpnext/accounts/doctype/subscriptions/subscriptions.py +++ b/erpnext/accounts/doctype/subscriptions/subscriptions.py @@ -5,6 +5,25 @@ from __future__ import unicode_literals import frappe from frappe.model.document import Document +from frappe.utils.data import now, nowdate, getdate, cint, add_days, date_diff, get_last_day, get_first_day +from frappe import _ + + +SUBSCRIPTION_SETTINGS = frappe.get_single('Subscription Settings') + class Subscriptions(Document): - pass + def before_insert(self): + # update start just before the subscription doc is created + self.update_subscription_period() + + def update_subscription_period(self): + self.set_current_invoice_start() + self.set_current_invoice_end() + + def set_current_invoice_start(self, date=None): + if not date: + self.current_invoice_start = nowdate() + + def set_current_invoice_end(self): + self.current_invoice_end = get_last_day(self.current_invoice_start)