From 138fc02c3c7f0609b0acf0147581d6bf325955c5 Mon Sep 17 00:00:00 2001 From: Shariq Ansari Date: Fri, 2 Aug 2024 20:14:35 +0530 Subject: [PATCH] fix: patch to add apps navbar item in default navbar items in navbar settings --- frappe/patches.txt | 1 + .../add_app_launcher_in_navbar_settings.py | 30 +++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 frappe/patches/v16_0/add_app_launcher_in_navbar_settings.py diff --git a/frappe/patches.txt b/frappe/patches.txt index a937f535fc..8862818a63 100644 --- a/frappe/patches.txt +++ b/frappe/patches.txt @@ -237,3 +237,4 @@ frappe.patches.v15_0.migrate_session_data frappe.custom.doctype.property_setter.patches.remove_invalid_fetch_from_expressions frappe.patches.v16_0.switch_default_sort_order frappe.integrations.doctype.oauth_client.patches.set_default_allowed_role_in_oauth_client +frappe.patches.v16_0.add_app_launcher_in_navbar_settings diff --git a/frappe/patches/v16_0/add_app_launcher_in_navbar_settings.py b/frappe/patches/v16_0/add_app_launcher_in_navbar_settings.py new file mode 100644 index 0000000000..9c9c835160 --- /dev/null +++ b/frappe/patches/v16_0/add_app_launcher_in_navbar_settings.py @@ -0,0 +1,30 @@ +# Copyright (c) 2023, Frappe Technologies Pvt. Ltd. and Contributors +# MIT License. See license.txt + +import frappe + + +def execute(): + if frappe.db.exists("Navbar Item", {"item_label": "Apps"}): + return + + navbar_settings = frappe.get_single("Navbar Settings") + settings_items = navbar_settings.as_dict().settings_dropdown + + view_website_item_idx = -1 + for i, item in enumerate(navbar_settings.settings_dropdown): + if item.get("item_label") == "View Website": + view_website_item_idx = i + + settings_items.insert( + view_website_item_idx + 1, + { + "item_label": "Apps", + "item_type": "Route", + "route": "/apps", + "is_standard": 1, + }, + ) + + navbar_settings.set("settings_dropdown", settings_items) + navbar_settings.save()