[minor] [fix] status updater, only change communication status when called explicitly

This commit is contained in:
Rushabh Mehta 2013-10-04 13:33:24 +05:30
parent 9dda0fb63b
commit acc876e0d7
2 changed files with 19 additions and 15 deletions

View File

@ -88,14 +88,18 @@ class StatusUpdater(DocListController):
webnotes.conn.set_value(self.doc.doctype, self.doc.name, "status", self.doc.status)
def on_communication(self):
self.communication_set = True
self.set_status(update=True)
del self.communication_set
def communication_received(self):
if getattr(self, "communication_set", False):
last_comm = self.doclist.get({"doctype":"Communication"})
if last_comm:
return last_comm[-1].sent_or_received == "Received"
def communication_sent(self):
if getattr(self, "communication_set", False):
last_comm = self.doclist.get({"doctype":"Communication"})
if last_comm:
return last_comm[-1].sent_or_received == "Sent"

View File

@ -36,12 +36,12 @@ def execute():
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))
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))