fix: delete sidebars when app is deleted
This commit is contained in:
parent
0891a69bda
commit
34b221d097
3 changed files with 11 additions and 4 deletions
|
|
@ -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"]
|
||||
)
|
||||
|
|
|
|||
|
|
@ -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"}
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue