From 9b67f4344bf05902cfc17548970ec314c82e6411 Mon Sep 17 00:00:00 2001 From: Anand Doshi Date: Fri, 20 Dec 2013 19:33:11 +0530 Subject: [PATCH] Patch to migrate allow_print and allow_email to print and email rights of DocPerm --- patches/1312/p02_update_user_properties.py | 3 +-- patches/1312/p04_new_permissions.py | 13 ++++++++++++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/patches/1312/p02_update_user_properties.py b/patches/1312/p02_update_user_properties.py index 51da19f1ba1..4ac1ab9615a 100644 --- a/patches/1312/p02_update_user_properties.py +++ b/patches/1312/p02_update_user_properties.py @@ -33,10 +33,9 @@ def update_user_match(): doctype_matches.setdefault(doctype, []).append(match) for doctype, user_matches in doctype_matches.items(): - # get permissions of this doctype perms = webnotes.conn.sql("""select role, `match` from `tabDocPerm` - where parent=%s and permlevel=0 and read=1""", doctype, as_dict=True) + where parent=%s and permlevel=0 and `read`=1""", doctype, as_dict=True) # for each user with roles of this doctype, check if match condition applies for profile in webnotes.conn.sql_list("""select name from `tabProfile` diff --git a/patches/1312/p04_new_permissions.py b/patches/1312/p04_new_permissions.py index 301c15e7f0f..e6042f4db5a 100644 --- a/patches/1312/p04_new_permissions.py +++ b/patches/1312/p04_new_permissions.py @@ -8,6 +8,17 @@ def execute(): # reset Page perms from core.page.permission_manager.permission_manager import reset reset("Page") + reset("Report") # patch to move print, email into DocPerm - \ No newline at end of file + for doctype, hide_print, hide_email in webnotes.conn.sql("""select name, ifnull(allow_print, 0), ifnull(allow_email, 0) + from `tabDocType` where ifnull(issingle, 0)=0 and ifnull(istable, 0)=0 and + (ifnull(allow_print, 0)=0 or ifnull(allow_email, 0)=0)"""): + + if not hide_print: + webnotes.conn.sql("""update `tabDocPerm` set `print`=1 + where permlevel=0 and `read`=1 and parent=%s""", doctype) + + if not hide_email: + webnotes.conn.sql("""update `tabDocPerm` set `email`=1 + where permlevel=0 and `read`=1 and parent=%s""", doctype)