From 7aa062873194f4e4372e100aafbfd12a7eef4625 Mon Sep 17 00:00:00 2001 From: shariquerik Date: Wed, 24 Mar 2021 16:41:01 +0530 Subject: [PATCH] refactor: relocated get_doctype_roles function --- frappe/__init__.py | 5 ----- frappe/desk/doctype/todo/todo.py | 4 ++-- frappe/permissions.py | 5 +++++ 3 files changed, 7 insertions(+), 7 deletions(-) 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 = {