diff --git a/frappe/core/page/user_permissions/user_permissions.py b/frappe/core/page/user_permissions/user_permissions.py index 3c5920e47a..98d7e90095 100644 --- a/frappe/core/page/user_permissions/user_permissions.py +++ b/frappe/core/page/user_permissions/user_permissions.py @@ -72,11 +72,15 @@ def add(user, defkey, defvalue): def get_doctypes_for_user_permissions(): '''Get doctypes for the current user where user permissions are applicable''' user_roles = frappe.get_roles() + if "System Manager" in user_roles: - return sorted(set([p.parent for p in get_valid_perms()])) + doctypes = set([p.parent for p in get_valid_perms()]) else: - return sorted(set([p.parent for p in get_valid_perms() if p.set_user_permissions])) + doctypes = set([p.parent for p in get_valid_perms() if p.set_user_permissions]) + single_doctypes = set([d.name for d in frappe.get_all("DocType", {"issingle": 1})]) + + return sorted(doctypes.difference(single_doctypes)) @frappe.whitelist()