Merge pull request #5041 from nabinhait/recurring_doc_amend

[fix] Reset recurring id on amendment
This commit is contained in:
Rushabh Mehta 2016-03-28 18:29:44 +05:30
commit d3fdbaa261
2 changed files with 12 additions and 10 deletions

View File

@ -48,9 +48,12 @@ class AccountsController(TransactionBase):
self.validate_party() self.validate_party()
self.validate_currency() self.validate_currency()
if self.meta.get_field("is_recurring") and not self.get("__islocal"): if self.meta.get_field("is_recurring"):
validate_recurring_document(self) if self.amended_from and self.recurring_id:
convert_to_recurring(self, self.get("posting_date") or self.get("transaction_date")) self.recurring_id = None
if not self.get("__islocal"):
validate_recurring_document(self)
convert_to_recurring(self, self.get("posting_date") or self.get("transaction_date"))
def on_update_after_submit(self): def on_update_after_submit(self):
if self.meta.get_field("is_recurring"): if self.meta.get_field("is_recurring"):

View File

@ -181,14 +181,13 @@ def convert_to_recurring(doc, posting_date):
doc.db_set("recurring_id", doc.name) doc.db_set("recurring_id", doc.name)
set_next_date(doc, posting_date) set_next_date(doc, posting_date)
if doc.next_date:
validate_recurring_next_date(doc)
elif doc.recurring_id: elif doc.recurring_id:
frappe.db.sql("""update `tab%s` set is_recurring = 0 doc.db_set("recurring_id", None)
where recurring_id = %s""" % (doc.doctype, '%s'), (doc.recurring_id))
if doc.next_date:
validate_recurring_next_date(doc)
def validate_notification_email_id(doc): def validate_notification_email_id(doc):
if doc.notify_by_email: if doc.notify_by_email:
if doc.notification_email_address: if doc.notification_email_address: