From 5df1a040ffc72e13112a51fc56cbff59de9d933e Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Tue, 30 Oct 2018 11:21:04 +0530 Subject: [PATCH] Remove unwanted code --- .../user_permission/user_permission.js | 53 ------------------- frappe/model/rename_doc.py | 10 ---- frappe/public/js/frappe/model/perm.js | 17 +++--- 3 files changed, 9 insertions(+), 71 deletions(-) diff --git a/frappe/core/doctype/user_permission/user_permission.js b/frappe/core/doctype/user_permission/user_permission.js index e7751abbae..3590158cb6 100644 --- a/frappe/core/doctype/user_permission/user_permission.js +++ b/frappe/core/doctype/user_permission/user_permission.js @@ -25,58 +25,5 @@ frappe.ui.form.on('User Permission', { if(frm.doc.for_value) { cur_frm.fields_dict.for_value.set_input(null); } - }, - - before_save: frm => { - const linked_doctype_multicheck = frm.linked_doctype_multicheck.get_unchecked_options(); - frm.doc.skip_for_doctype = linked_doctype_multicheck.join('\n'); - }, - - set_linked_doctype_multicheck: frm => { - const linked_doctypes_wrapper = frm.fields_dict.linked_doctypes.$wrapper; - linked_doctypes_wrapper.empty(); - - if (!frm.doc.allow) return; - - frappe.call({ - method: "frappe.desk.form.linked_with.get_linked_doctypes", - args: { - doctype: frm.doc.allow, - without_ignore_user_permissions_enabled: true - }, - callback: (r) => { - linked_doctypes_wrapper.empty(); - const linked_doctypes = r.message || {}; - - // adds selected doctype to Multicheck - if (!linked_doctypes[frm.doc.allow]) { - linked_doctypes[frm.doc.allow] = {} - } - - const checked_doctypes = frm.doc.skip_for_doctype ? frm.doc.skip_for_doctype.split('\n') : []; - let multicheck_options = []; - Object.keys(linked_doctypes).sort().forEach(doctype => { - multicheck_options.push({ - label: doctype, - value: doctype, - checked: checked_doctypes.length ? !checked_doctypes.includes(doctype) : 1 - }); - }); - - if (multicheck_options.length) { - frm.linked_doctype_multicheck = frappe.ui.form.make_control({ - parent: linked_doctypes_wrapper, - df: { - 'label': __('Apply User Permission for following DocTypes'), - 'fieldname': 'linked_doctype_multicheck', - 'fieldtype': 'MultiCheck', - 'options': multicheck_options, - 'columns': 3, - 'select_all': multicheck_options.length > 5 - }, - }); - } - } - }); } }); diff --git a/frappe/model/rename_doc.py b/frappe/model/rename_doc.py index 1a724eea9e..9a28737770 100644 --- a/frappe/model/rename_doc.py +++ b/frappe/model/rename_doc.py @@ -176,7 +176,6 @@ def rename_doctype(doctype, old, new, force=False): # change options for fieldtype Table update_options_for_fieldtype("Table", old, new) update_options_for_fieldtype("Link", old, new) - update_user_permissions(old, new) # change options where select options are hardcoded i.e. listed select_fields = get_select_fields(old, new) @@ -286,15 +285,6 @@ def update_options_for_fieldtype(fieldtype, old, new): frappe.db.sql("""update `tabProperty Setter` set value=%s where property='options' and value=%s""", (new, old)) -def update_user_permissions(old_doctype_name, new_doctype_name): - user_perms = frappe.get_all('User Permission', fields=['name','skip_for_doctype']) - for perm in user_perms: - doctype_list = perm.skip_for_doctype.split("\n") if perm.skip_for_doctype else [] - if old_doctype_name in doctype_list: - new_list = [new_doctype_name if dt==old_doctype_name else dt for dt in doctype_list] - new_string = "\n".join(new_list) - frappe.db.set_value('User Permission', perm.name, 'skip_for_doctype', new_string) - def get_select_fields(old, new): """ get select type fields where doctype's name is hardcoded as diff --git a/frappe/public/js/frappe/model/perm.js b/frappe/public/js/frappe/model/perm.js index 1461cea7b8..0a78f86d31 100644 --- a/frappe/public/js/frappe/model/perm.js +++ b/frappe/public/js/frappe/model/perm.js @@ -47,15 +47,11 @@ $.extend(frappe.perm, { let meta = frappe.get_doc("DocType", doctype); const user = frappe.session.user; - if (!meta) return perm; - if (user === "Administrator" || frappe.user_roles.includes("Administrator")) { perm[0].read = 1; } - if (!meta) { - return perm; - } + if (!meta) return perm; frappe.perm.build_role_permissions(perm, meta); @@ -155,9 +151,14 @@ $.extend(frappe.perm, { let rules = {}; let fields_to_check = frappe.meta.get_fields_to_check_permissions(doctype); $.each(fields_to_check, (i, df) => { - if (user_permissions[df.options] - && !(user_permissions[df.options].skip_for_doctype || []).includes(doctype)) { - rules[df.label] = user_permissions[df.options].docs; + if (user_permissions[df.options]) { + const user_permissions_for_doctype = user_permissions[df.options]; + rules[df.label] = []; + user_permissions_for_doctype.map(permission => { + if (!permission.applicable_for_doctype || permission.applicable_for_doctype === doctype) { + rules[df.label].push(permission.doc); + } + }); } }); if (!$.isEmptyObject(rules)) {