From bd269cdbe760d92334bf99ddcb15907e2554f487 Mon Sep 17 00:00:00 2001 From: Anand Doshi Date: Fri, 23 Dec 2011 11:55:00 +0530 Subject: [PATCH 1/2] Fix: Email digest gets deleted if even one is disabled. --- erpnext/setup/doctype/email_digest/email_digest.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/erpnext/setup/doctype/email_digest/email_digest.py b/erpnext/setup/doctype/email_digest/email_digest.py index cd84d1098a2..e599e7b058b 100644 --- a/erpnext/setup/doctype/email_digest/email_digest.py +++ b/erpnext/setup/doctype/email_digest/email_digest.py @@ -417,7 +417,6 @@ class DocType: sch = Scheduler() sch.connect() - if self.doc.enabled == 1: # Create scheduler entry res = sch.conn.sql(""" @@ -429,15 +428,21 @@ class DocType: if not (res and res[0]): args['next_execution'] = self.get_next_execution() - + sch.conn.begin() sch.conn.sql(""" INSERT INTO Event (db_name, event, `interval`, next_execution, recurring) VALUES (%(db_name)s, %(event)s, 86400, %(next_execution)s, 1) """, args) + sch.conn.commit() else: - # delete scheduler entry - sch.clear(args['db_name'], args['event']) + # delete scheduler entry if no other email digest is enabled + res = webnotes.conn.sql(""" + SELECT * FROM `tabEmail Digest` + WHERE enabled=1 + """) + if not (res and res[0]): + sch.clear(args['db_name'], args['event']) #print "after on update" From ac20eb2107a625e9bd4db9123d2b242eca3389ee Mon Sep 17 00:00:00 2001 From: Anand Doshi Date: Fri, 23 Dec 2011 13:50:28 +0530 Subject: [PATCH 2/2] Changes in Permission Manager to exclude doctype of 'Core' module and mark Profile as not in create --- erpnext/patches/profile_mark_not_in_create.py | 10 ++++++++++ .../doctype/permission_control/permission_control.py | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 erpnext/patches/profile_mark_not_in_create.py diff --git a/erpnext/patches/profile_mark_not_in_create.py b/erpnext/patches/profile_mark_not_in_create.py new file mode 100644 index 00000000000..8d2504702ef --- /dev/null +++ b/erpnext/patches/profile_mark_not_in_create.py @@ -0,0 +1,10 @@ +import webnotes +def execute(): + """ + Mark DocType Profile as 'not_in_create' + """ + webnotes.conn.sql(""" + UPDATE `tabDocType` + SET in_create=1 + WHERE name='Profile' + """) diff --git a/erpnext/setup/doctype/permission_control/permission_control.py b/erpnext/setup/doctype/permission_control/permission_control.py index a24c7560de6..044dff5af61 100644 --- a/erpnext/setup/doctype/permission_control/permission_control.py +++ b/erpnext/setup/doctype/permission_control/permission_control.py @@ -30,7 +30,7 @@ class DocType: WHERE ifnull(docstatus,0)=0 AND ifnull(istable,0)=0 AND ifnull(issingle,0)=0 - AND `module` NOT IN ('System','Utilities','Setup Masters','Roles','Recycle Bin','Mapper','Application Internal','Development') + AND `module` NOT IN ('System','Utilities','Setup Masters','Roles','Recycle Bin','Mapper','Application Internal','Development', 'Core') ORDER BY `name` ASC""") rl = [''] + [a[0] for a in sql("select name from tabRole where ifnull(docstatus,0)=0")]