From 31ae8bc19b005ee87aedb11e00e96fd2456ab411 Mon Sep 17 00:00:00 2001 From: sokumon Date: Tue, 3 Feb 2026 15:37:47 +0530 Subject: [PATCH] fix: reset to default in desktop --- .../desk/doctype/desktop_layout/desktop_layout.py | 5 +++++ frappe/desk/page/desktop/desktop.js | 14 ++++++++++---- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/frappe/desk/doctype/desktop_layout/desktop_layout.py b/frappe/desk/doctype/desktop_layout/desktop_layout.py index 70f8920d4e..08834f482c 100644 --- a/frappe/desk/doctype/desktop_layout/desktop_layout.py +++ b/frappe/desk/doctype/desktop_layout/desktop_layout.py @@ -48,3 +48,8 @@ def save_layout(user, layout, new_icons): desktop_icon.save() return {"layout": layout} + + +@frappe.whitelist() +def delete_layout(): + return frappe.delete_doc_if_exists("Desktop Layout", frappe.session.user) diff --git a/frappe/desk/page/desktop/desktop.js b/frappe/desk/page/desktop/desktop.js index 4ea10d2416..a0550211ab 100644 --- a/frappe/desk/page/desktop/desktop.js +++ b/frappe/desk/page/desktop/desktop.js @@ -129,8 +129,11 @@ function save_desktop(icons) { } function reset_to_default() { - frappe.db.delete_doc("Desktop Layout", frappe.session.user).then(() => { - frappe.ui.toolbar.clear_cache(); + frappe.call({ + method: "frappe.desk.doctype.desktop_layout.desktop_layout.delete_layout", + callback: function (r) { + frappe.ui.toolbar.clear_cache(); + }, }); } @@ -454,6 +457,8 @@ class DesktopPage { }); } add_menu_item(item) { + if (this.desktop_menu_items && this.desktop_menu_items.find((i) => i.label === item.label)) + return; this.desktop_menu_items.push(item); } setup_navbar() { @@ -490,9 +495,10 @@ class DesktopPage { handle_route_change() { const me = this; frappe.router.on("change", function () { - if (frappe.get_route()[0] == "desktop" || frappe.get_route()[0] == "") + if (frappe.get_route()[0] == "desktop" || frappe.get_route()[0] == "") { me.setup_navbar(); - else { + me.setup_edit_button(); + } else { $(".navbar").show(); frappe.desktop_utils.close_desktop_modal(); // stop edit mode if route changes and cleanup