From 9f135e8c1d3bd4ea9405941c0d6893b6ace6f282 Mon Sep 17 00:00:00 2001 From: Ankush Menat Date: Thu, 11 Jan 2024 12:27:39 +0530 Subject: [PATCH] fix: print perm check logs from DB query Doing has_permission and then manually raising exception erases the perm check messages. This causes insane amounts of confusion when perm error says X not permitted while user is trying to check Y. --- frappe/model/db_query.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/frappe/model/db_query.py b/frappe/model/db_query.py index 62424ca0aa..f6e96267a6 100644 --- a/frappe/model/db_query.py +++ b/frappe/model/db_query.py @@ -521,14 +521,12 @@ class DatabaseQuery: def _set_permission_map(self, doctype: str, parent_doctype: str | None = None): ptype = "select" if frappe.only_has_select_perm(doctype) else "read" - val = frappe.has_permission( + frappe.has_permission( doctype, ptype=ptype, parent_doctype=parent_doctype or self.doctype, + throw=True, ) - if not val: - frappe.flags.error_message = _("Insufficient Permission for {0}").format(frappe.bold(doctype)) - raise frappe.PermissionError(doctype) self.permission_map[doctype] = ptype def set_field_tables(self):