Patch to migrate allow_print and allow_email to print and email rights of DocPerm
diff --git a/patches/1312/p02_update_user_properties.py b/patches/1312/p02_update_user_properties.py
index 51da19f..4ac1ab9 100644
--- a/patches/1312/p02_update_user_properties.py
+++ b/patches/1312/p02_update_user_properties.py
@@ -33,10 +33,9 @@
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 301c15e..e6042f4 100644
--- a/patches/1312/p04_new_permissions.py
+++ b/patches/1312/p04_new_permissions.py
@@ -8,6 +8,17 @@
# 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)