[fix] setup_custom_perms.py

This commit is contained in:
Rushabh Mehta 2017-01-19 12:34:55 +05:30
parent 2c3793f357
commit f5bbf96fd3
3 changed files with 759 additions and 753 deletions

File diff suppressed because it is too large Load diff

View file

@ -8,7 +8,7 @@ execute:frappe.reload_doc('core', 'doctype', 'doctype', force=True) #2016-10-17
execute:frappe.reload_doc('core', 'doctype', 'docfield', force=True) #2017-01-06
execute:frappe.reload_doc('core', 'doctype', 'docperm') #2014-06-24
execute:frappe.reload_doc('core', 'doctype', 'custom_docperm')
frappe.patches.v7_2.setup_custom_perms
frappe.patches.v7_2.setup_custom_perms #2017-01-19
execute:frappe.reload_doc('core', 'doctype', 'role')
execute:frappe.reload_doc('core', 'doctype', 'user')
execute:frappe.reload_doc('core', 'doctype', 'deleted_document')

View file

@ -7,12 +7,20 @@ Copy DocPerm to Custom DocPerm where permissions are set differently
'''
def execute():
frappe.reload_doctype('DocPerm')
if frappe.db.has_column('DocPerm', 'is_custom'):
frappe.db.commit()
frappe.db.sql('alter table `tabDocPerm` drop column is_custom')
docperm_meta = frappe.get_meta('DocPerm')
for d in frappe.db.get_all('DocType', dict(istable=0, issingle=0, custom=0)):
perms = frappe.get_all('DocPerm', fields='*', filters=dict(parent=d.name), order_by='idx asc')
# get default perms
standard_perms = get_standard_permissions(d.name)
try:
standard_perms = get_standard_permissions(d.name)
except (IOError, KeyError):
# no json file, doctype no longer exists!
continue
same = True
if len(standard_perms) != len(perms):
@ -23,7 +31,6 @@ def execute():
standard = standard_perms[i]
for fieldname in docperm_meta.get_fieldnames_with_value():
if p.get(fieldname) != standard.get(fieldname):
print d.name, fieldname, p.get(fieldname), standard.get(fieldname)
same = False
break