diff --git a/frappe/__init__.py b/frappe/__init__.py index 853a8d34f7..871d1b9e92 100644 --- a/frappe/__init__.py +++ b/frappe/__init__.py @@ -466,11 +466,6 @@ def get_roles(username=None): import frappe.permissions return frappe.permissions.get_roles(username or local.session.user) -def get_doctype_roles(doctype, access_type="read"): - """Returns a list of roles that are allowed to access passed doctype.""" - meta = get_meta(doctype) - return [d.role for d in meta.get("permissions") if d.get(access_type)] - def get_request_header(key, default=None): """Return HTTP request header. diff --git a/frappe/desk/doctype/todo/todo.py b/frappe/desk/doctype/todo/todo.py index 5d4fa75b65..a766375fde 100644 --- a/frappe/desk/doctype/todo/todo.py +++ b/frappe/desk/doctype/todo/todo.py @@ -92,7 +92,7 @@ def on_doctype_update(): def get_permission_query_conditions(user): if not user: user = frappe.session.user - todo_roles = frappe.get_doctype_roles('ToDo') + todo_roles = frappe.permissions.get_doctype_roles('ToDo') if 'All' in todo_roles: todo_roles.remove('All') @@ -104,7 +104,7 @@ def get_permission_query_conditions(user): def has_permission(doc, ptype="read", user=None): user = user or frappe.session.user - todo_roles = frappe.get_doctype_roles('ToDo', ptype) + todo_roles = frappe.permissions.get_doctype_roles('ToDo', ptype) if 'All' in todo_roles: todo_roles.remove('All') diff --git a/frappe/permissions.py b/frappe/permissions.py index abb1f6653a..e597402c38 100644 --- a/frappe/permissions.py +++ b/frappe/permissions.py @@ -362,6 +362,11 @@ def get_roles(user=None, with_standard=True): return roles +def get_doctype_roles(doctype, access_type="read"): + """Returns a list of roles that are allowed to access passed doctype.""" + meta = frappe.get_meta(doctype) + return [d.role for d in meta.get("permissions") if d.get(access_type)] + def get_perms_for(roles, perm_doctype='DocPerm'): '''Get perms for given roles''' filters = {