From c0c0cae78aa4ab440fb118a6c131edf4e176d431 Mon Sep 17 00:00:00 2001 From: Akhil Narang Date: Mon, 11 Aug 2025 18:02:57 +0530 Subject: [PATCH] fix(nestedset): clear user permissions cache when a new doc is created, if applicable Signed-off-by: Akhil Narang --- frappe/utils/nestedset.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/frappe/utils/nestedset.py b/frappe/utils/nestedset.py index bb211bc5ae..0c85788ac1 100644 --- a/frappe/utils/nestedset.py +++ b/frappe/utils/nestedset.py @@ -261,6 +261,19 @@ class NestedSet(Document): if self.meta.get("nsm_parent_field"): self.nsm_parent_field = self.meta.nsm_parent_field + def after_insert(self): + if ( + frappe.flags.in_import + or frappe.flags.in_patch + or frappe.flags.in_migrate + or frappe.flags.in_install + ): + return + + # Clear user permissions cache, otherwise user can't access the new document + if frappe.db.exists("User Permission", {"user": frappe.session.user, "allow": self.doctype}): + frappe.cache.hdel("user_permissions", frappe.session.user) + def on_update(self): update_nsm(self) self.validate_ledger()