diff --git a/frappe/desk/doctype/desktop_icon/desktop_icon.py b/frappe/desk/doctype/desktop_icon/desktop_icon.py index 14a256878c..bfd91f3c0d 100644 --- a/frappe/desk/doctype/desktop_icon/desktop_icon.py +++ b/frappe/desk/doctype/desktop_icon/desktop_icon.py @@ -44,16 +44,15 @@ class DesktopIcon(Document): def on_trash(self): clear_desktop_icons_cache() + if frappe.conf.developer_mode and self.standard and self.app: + self.delete_desktop_icon_file() + + def on_update(self): allow_export = ( self.standard and self.app and not frappe.flags.in_import and frappe.conf.developer_mode ) if allow_export: - self.delete_desktop_icon_file() - - def on_update(self): - if frappe.conf.developer_mode: - if self.standard == 1 and self.app: - self.export_desktop_icon() + self.export_desktop_icon() def export_desktop_icon(self): folder_path = create_directory_on_app_path("desktop_icon", self.app) @@ -695,7 +694,7 @@ def create_desktop_icons_from_workspace(): icon.link_to = w.name icon.icon = w.icon if w.module: - app_name = frappe.db.get_value("Module Def", w.module, "app_name") + app_name = w.app or frappe.db.get_value("Module Def", w.module, "app_name") if app_name in frappe.get_installed_apps(): app_title = frappe.get_hooks("app_title", app_name=app_name)[0] app_icon = frappe.db.exists("Desktop Icon", {"label": app_title, "icon_type": "App"}) diff --git a/frappe/desktop_icon/productivity.json b/frappe/desktop_icon/productivity.json new file mode 100644 index 0000000000..5c6cd39462 --- /dev/null +++ b/frappe/desktop_icon/productivity.json @@ -0,0 +1,19 @@ +{ + "app": "frappe", + "creation": "2025-11-20 17:16:09.925913", + "docstatus": 0, + "doctype": "Desktop Icon", + "hidden": 0, + "icon_type": "Link", + "idx": 0, + "label": "Productivity", + "link_to": "ToDo", + "link_type": "DocType", + "modified": "2025-11-20 17:16:15.385376", + "modified_by": "Administrator", + "name": "Productivity", + "owner": "Administrator", + "parent_icon": "Framework", + "roles": [], + "standard": 1 +} diff --git a/frappe/hooks.py b/frappe/hooks.py index 69b0cad09c..07d1d0a185 100644 --- a/frappe/hooks.py +++ b/frappe/hooks.py @@ -66,6 +66,7 @@ website_route_rules = [ website_redirects = [ {"source": r"/app/(.*)", "target": r"/desk/\1"}, {"source": "/apps", "target": "/desk"}, + {"source": "/app", "target": "/desk"}, ] base_template = "templates/base.html" diff --git a/frappe/public/scss/desk/sidebar.scss b/frappe/public/scss/desk/sidebar.scss index 8b4de84351..654dc6c902 100644 --- a/frappe/public/scss/desk/sidebar.scss +++ b/frappe/public/scss/desk/sidebar.scss @@ -255,7 +255,7 @@ } } .collapse-sidebar-link { - display: none; + display: flex; } } .sidebar-item-edit-controls {