From 41b3756df5eac4fa9a46e2448a17db13f718dc85 Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Thu, 24 Jan 2019 10:57:05 +0530 Subject: [PATCH] fix: patch to replace Project icon with Projects icon (#16374) * Delete duplicate projects icon from desktop.py * Fix patch (to replace project to projects) --- erpnext/config/desktop.py | 7 ----- erpnext/patches.txt | 3 +- ..._icon_with_projects_module_desktop_icon.py | 31 +++++++++---------- 3 files changed, 17 insertions(+), 24 deletions(-) diff --git a/erpnext/config/desktop.py b/erpnext/config/desktop.py index cc7ee02f2a..762f48a52e 100644 --- a/erpnext/config/desktop.py +++ b/erpnext/config/desktop.py @@ -135,13 +135,6 @@ def get_data(): "link": "leaderboard", "label": _("Leaderboard") }, - { - "module_name": "Projects", - "color": "#8e44ad", - "icon": "octicon octicon-rocket", - "type": "module", - "hidden": 1 - }, { "module_name": "Support", "color": "#2c3e50", diff --git a/erpnext/patches.txt b/erpnext/patches.txt index d4e4243d87..35dfd892f7 100755 --- a/erpnext/patches.txt +++ b/erpnext/patches.txt @@ -585,4 +585,5 @@ erpnext.patches.v11_0.renamed_from_to_fields_in_project erpnext.patches.v12_0.change_qms_icon erpnext.patches.v12_0.rename_learn_to_help erpnext.patches.v12_0.rename_accounts_desktop_icon_to_accounting -erpnext.patches.v12_0.replace_project_list_desktop_icon_with_projects_module_desktop_icon +erpnext.patches.v12_0.replace_project_list_desktop_icon_with_projects_module_desktop_icon # 09-01-2019 +erpnext.patches.v11_0.rename_additional_salary_component_additional_salary \ No newline at end of file diff --git a/erpnext/patches/v12_0/replace_project_list_desktop_icon_with_projects_module_desktop_icon.py b/erpnext/patches/v12_0/replace_project_list_desktop_icon_with_projects_module_desktop_icon.py index daa6725f4d..dc848f4788 100644 --- a/erpnext/patches/v12_0/replace_project_list_desktop_icon_with_projects_module_desktop_icon.py +++ b/erpnext/patches/v12_0/replace_project_list_desktop_icon_with_projects_module_desktop_icon.py @@ -1,24 +1,23 @@ import frappe def execute(): - frappe.db.sql("""DELETE - FROM `tabDesktop Icon` - WHERE - `module_name` in ('Project', 'Projects') AND - `standard`=1 AND - `app`='erpnext' - """) + projects_icons = frappe.get_all('Desktop Icon', filters={ + 'module_name': ['in', ('Project', 'Projects')], + }) - desktop_icon = frappe.get_doc({ - 'doctype': 'Desktop Icon', - 'idx': 5, - 'standard': 1, - 'app': 'erpnext', - 'owner': 'Administrator', + fields_to_update = { 'module_name': 'Projects', 'color': '#8e44ad', 'icon': 'octicon octicon-rocket', - 'type': 'module' - }) + 'type': 'module', + 'link': '' + } - desktop_icon.save() + for icon in projects_icons: + icon_doc = frappe.get_doc('Desktop Icon', icon.name) + icon_doc.update(fields_to_update) + try: + icon_doc.save() + except frappe.exceptions.UniqueValidationError: + # delete duplicate icon + icon_doc.delete()