[fix] raise/catch DoesNotExistError in sync desktop icons patch

This commit is contained in:
Anand Doshi 2016-03-17 09:48:36 +05:30
parent 6a2b296ace
commit d6e908a3e4
3 changed files with 11 additions and 13 deletions

View file

@ -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()"
},
]

View file

@ -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)

View file

@ -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