From 6856d74a1bc463e682ecc178f213d82acb0e7ac6 Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Thu, 3 Oct 2013 18:12:36 +0530 Subject: [PATCH] [minor] fixes to crm patch --- controllers/status_updater.py | 16 +++++++++------- .../p01_update_delivery_note_prevdocs.py | 1 + patches/october_2013/p03_crm_update_status.py | 17 ++++++++++++++++- 3 files changed, 26 insertions(+), 8 deletions(-) diff --git a/controllers/status_updater.py b/controllers/status_updater.py index 07b812a7dc1..e457fa957ef 100644 --- a/controllers/status_updater.py +++ b/controllers/status_updater.py @@ -69,12 +69,14 @@ class StatusUpdater(DocListController): if self.doc.get("__islocal"): return - if self.doc.doctype in status_map.keys(): - for s in status_map[self.doc.doctype].reverse(): + if self.doc.doctype in status_map: + sl = status_map[self.doc.doctype][:] + sl.reverse() + for s in sl: if not s[1]: self.doc.status = s[0] break - elif s[1].startwith("eval:"): + elif s[1].startswith("eval:"): if eval(s[1][5:]): self.doc.status = s[0] break @@ -89,14 +91,14 @@ class StatusUpdater(DocListController): self.set_status(update=True) def communication_received(self): - last_comm = self.doclist.get({"doctype":"Communication"})[-1] + last_comm = self.doclist.get({"doctype":"Communication"}) if last_comm: - return last_comm.sent_or_received == "Received" + return last_comm[-1].sent_or_received == "Received" def communication_sent(self): - last_comm = self.doclist.get({"doctype":"Communication"})[-1] + last_comm = self.doclist.get({"doctype":"Communication"}) if last_comm: - return last_comm.sent_or_received == "Sent" + return last_comm[-1].sent_or_received == "Sent" def validate_qty(self): """ diff --git a/patches/october_2013/p01_update_delivery_note_prevdocs.py b/patches/october_2013/p01_update_delivery_note_prevdocs.py index b1a16c28beb..75ac53f9837 100644 --- a/patches/october_2013/p01_update_delivery_note_prevdocs.py +++ b/patches/october_2013/p01_update_delivery_note_prevdocs.py @@ -5,6 +5,7 @@ from __future__ import unicode_literals import webnotes def execute(): + webnotes.reload_doc("stock", "doctype", "delivery_note_item") webnotes.conn.sql("""update `tabDelivery Note Item` set against_sales_order=prevdoc_docname where prevdoc_doctype='Sales Order' """) diff --git a/patches/october_2013/p03_crm_update_status.py b/patches/october_2013/p03_crm_update_status.py index e5b434ce1ff..73ed1b1c78c 100644 --- a/patches/october_2013/p03_crm_update_status.py +++ b/patches/october_2013/p03_crm_update_status.py @@ -29,4 +29,19 @@ def execute(): ["Waiting for Customer", "Replied"], ["To Reply", "Open"], ] - } \ No newline at end of file + } + + for dt, opts in change_map.items(): + for status in opts: + webnotes.conn.sql("""update `tab%s` set status=%s where status=%s""" % \ + (dt, "%s", "%s"), (status[1], status[0])) + + # for dt in ["Lead", "Opportunity"]: + # for name in webnotes.conn.sql_list("""select name from `tab%s`""" % dt): + # bean = webnotes.bean(dt, name) + # before_status = bean.doc.status + # bean.get_controller().set_status() + # + # if bean.doc.status != before_status: + # webnotes.conn.sql("""update `tab%s` set status=%s where name=%s""" % (dt, "%s", "%s"), + # (bean.doc.status, name))