From bf58e7be1fbd323756cde197ab7bcd54e9332118 Mon Sep 17 00:00:00 2001 From: Ankush Menat Date: Thu, 30 Oct 2025 11:32:36 +0530 Subject: [PATCH] fix: onboarding - write in read only request (#34537) * fix: remove read_only decorator from get_desktop_page get_desktop_page leads to a call to check_completions which calls save and thus with the read_only decorator calls save on the read replica * fix: Avoid changes to DB in read only request * Revert "fix: remove read_only decorator from get_desktop_page" This reverts commit 93db873bb707c6b58c7e6e68499df173aaa66d49. --------- Co-authored-by: Apile Tyumre --- frappe/desk/doctype/module_onboarding/module_onboarding.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/frappe/desk/doctype/module_onboarding/module_onboarding.py b/frappe/desk/doctype/module_onboarding/module_onboarding.py index 14049229ef..3675d08a30 100644 --- a/frappe/desk/doctype/module_onboarding/module_onboarding.py +++ b/frappe/desk/doctype/module_onboarding/module_onboarding.py @@ -53,11 +53,15 @@ class ModuleOnboarding(Document): is_complete = [bool(step.is_complete or step.is_skipped) for step in steps] if all(is_complete): self.is_complete = True - self.save(ignore_permissions=True) + frappe.enqueue(self.mark_as_completed, enqueue_after_commit=True) return True return False + def mark_as_completed(self): + self.is_complete = True + self.save(ignore_permissions=True) + @frappe.whitelist() def reset_progress(self): self.db_set("is_complete", 0)