From d6e908a3e43ddd376f3baede1291c7e76607953a Mon Sep 17 00:00:00 2001 From: Anand Doshi Date: Thu, 17 Mar 2016 09:48:36 +0530 Subject: [PATCH] [fix] raise/catch DoesNotExistError in sync desktop icons patch --- frappe/config/desktop.py | 8 -------- frappe/desk/doctype/desktop_icon/desktop_icon.py | 2 +- frappe/patches/v6_24/sync_desktop_icons.py | 14 ++++++++++---- 3 files changed, 11 insertions(+), 13 deletions(-) diff --git a/frappe/config/desktop.py b/frappe/config/desktop.py index bc54de29b9..9be4dd0d18 100644 --- a/frappe/config/desktop.py +++ b/frappe/config/desktop.py @@ -42,12 +42,4 @@ def get_data(): "type": "module", "system_manager": 1 }, - { - "module_name": "All Applications", - "label": _("All Applications"), - "color": "#4aa3df", - "icon": "octicon octicon-three-bars", - "type": "module", - "link": "javascript:frappe.desktop.all_applications.show()" - }, ] diff --git a/frappe/desk/doctype/desktop_icon/desktop_icon.py b/frappe/desk/doctype/desktop_icon/desktop_icon.py index 9632a2af08..35958c272a 100644 --- a/frappe/desk/doctype/desktop_icon/desktop_icon.py +++ b/frappe/desk/doctype/desktop_icon/desktop_icon.py @@ -197,7 +197,7 @@ def make_user_copy(module_name, user): standard_name = frappe.db.get_value('Desktop Icon', {'module_name': module_name, 'standard': 1}) if not standard_name: - frappe.throw('{0} not found'.format(module_name)) + frappe.throw('{0} not found'.format(module_name), frappe.DoesNotExistError) original = frappe.get_doc('Desktop Icon', standard_name) diff --git a/frappe/patches/v6_24/sync_desktop_icons.py b/frappe/patches/v6_24/sync_desktop_icons.py index 9bcfa8b30f..a635990732 100644 --- a/frappe/patches/v6_24/sync_desktop_icons.py +++ b/frappe/patches/v6_24/sync_desktop_icons.py @@ -28,10 +28,16 @@ def execute(): if user_list: user_list = json.loads(user_list) for i, module_name in enumerate(user_list): - desktop_icon = get_user_copy(module_name, user=user.name) - desktop_icon.db_set('idx', i) + try: + desktop_icon = get_user_copy(module_name, user=user.name) + desktop_icon.db_set('idx', i) + except frappe.DoesNotExistError: + pass # set remaining icons as hidden for module_name in list(set([m['module_name'] for m in modules_list]) - set(user_list)): - desktop_icon = get_user_copy(module_name, user=user.name) - desktop_icon.db_set('hidden', 1) + try: + desktop_icon = get_user_copy(module_name, user=user.name) + desktop_icon.db_set('hidden', 1) + except frappe.DoesNotExistError: + pass