Merge pull request #35019 from sokumon/delete-sidebars

This commit is contained in:
Soham Kulkarni 2025-12-02 16:51:31 +05:30 committed by GitHub
commit 98c38ca19f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 11 additions and 4 deletions

View file

@ -559,7 +559,7 @@ def get_sidebar_items():
"filters": si.filters,
"route_options": si.route_options,
}
if si.link_type == "Report" and si.link_to:
if si.link_type == "Report" and si.link_to and frappe.db.exists("Report", si.link_to):
report_type, ref_doctype = frappe.db.get_value(
"Report", si.link_to, ["report_type", "ref_doctype"]
)

View file

@ -17,7 +17,7 @@ before_install = "frappe.utils.install.before_install"
after_install = "frappe.utils.install.after_install"
after_app_install = "frappe.utils.install.auto_generate_icons_and_sidebar"
after_app_uninstall = "frappe.utils.install.delete_desktop_icon"
after_app_uninstall = "frappe.utils.install.delete_desktop_icon_and_sidebar"
page_js = {"setup-wizard": "public/js/frappe/setup_wizard.js"}

View file

@ -198,7 +198,7 @@ def auto_generate_icons_and_sidebar(app_name=None):
print(f"Error creating icons {e}")
def delete_desktop_icon(app_name):
def delete_desktop_icon_and_sidebar(app_name, dry_run=False):
frappe.get_hooks(app_name=app_name)
app_title = frappe.get_hooks(app_name=app_name)["app_title"][0]
icons_to_be_deleted = frappe.get_all(
@ -213,4 +213,11 @@ def delete_desktop_icon(app_name):
for icon in icons_to_be_deleted:
frappe.delete_doc_if_exists("Desktop Icon", icon)
# Delete icons
frappe.db.commit() # nosemgrep
sidebar_to_be_deleted = frappe.get_all("Workspace Sidebar", pluck="name", filters={"app": app_name})
print("Deleting Workspace Sidebars")
for icon in sidebar_to_be_deleted:
frappe.delete_doc_if_exists("Workspace Sidebar", icon)
if dry_run:
# Delete icons and sidebars
frappe.db.commit() # nosemgrep