From 0e92fc9bf58f3b9f88df0cd30c46527102a9015d Mon Sep 17 00:00:00 2001 From: Ankush Menat Date: Mon, 19 Jun 2023 16:29:05 +0530 Subject: [PATCH] fix: Clear cache after role perm manager --- frappe/core/page/permission_manager/permission_manager.py | 7 +++++++ frappe/permissions.py | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/frappe/core/page/permission_manager/permission_manager.py b/frappe/core/page/permission_manager/permission_manager.py index 5ed3014778..fd879095c0 100644 --- a/frappe/core/page/permission_manager/permission_manager.py +++ b/frappe/core/page/permission_manager/permission_manager.py @@ -123,8 +123,15 @@ def update(doctype, role, permlevel, ptype, value=None): Returns: str: Refresh flag is permission is updated successfully """ + + def clear_cache(): + frappe.clear_cache(doctype=doctype) + frappe.only_for("System Manager") out = update_permission_property(doctype, role, permlevel, ptype, value) + + frappe.db.after_commit.add(clear_cache) + return "refresh" if out else None diff --git a/frappe/permissions.py b/frappe/permissions.py index 4cd0d369e2..633d0e278d 100644 --- a/frappe/permissions.py +++ b/frappe/permissions.py @@ -532,7 +532,7 @@ def update_permission_property(doctype, role, permlevel, ptype, value=None, vali out = setup_custom_perms(doctype) - name = frappe.get_value("Custom DocPerm", dict(parent=doctype, role=role, permlevel=permlevel)) + name = frappe.db.get_value("Custom DocPerm", dict(parent=doctype, role=role, permlevel=permlevel)) table = DocType("Custom DocPerm") frappe.qb.update(table).set(ptype, value).where(table.name == name).run()