From 01f3e38c8e28b6db6ccbd70ce55b48cf0f8ccd10 Mon Sep 17 00:00:00 2001 From: Prateeksha Singh Date: Mon, 4 Mar 2019 12:37:31 +0530 Subject: [PATCH] fix(desk_settings): check json none case --- frappe/config/__init__.py | 19 +++++++++++-------- .../js/frappe/views/components/utils.js | 18 ++++++------------ 2 files changed, 17 insertions(+), 20 deletions(-) diff --git a/frappe/config/__init__.py b/frappe/config/__init__.py index 2972aa181f..b1307aca96 100644 --- a/frappe/config/__init__.py +++ b/frappe/config/__init__.py @@ -16,20 +16,23 @@ def get_modules_from_all_apps_for_user(user=None): empty_tables_by_module = get_all_empty_tables_by_module() - home_settings = json.loads(frappe.db.get_value("User", frappe.session.user, 'home_settings')) + home_settings = frappe.db.get_value("User", frappe.session.user, 'home_settings') + if home_settings: + home_settings = json.loads(home_settings) for module in allowed_modules_list: module_name = module["module_name"] if module_name in empty_tables_by_module: module["onboard_present"] = 1 - category_settings = home_settings[module["category"]] - if module_name not in category_settings: - module["hidden"] = 1 - else: - links = category_settings[module_name]["links"] - if links: - module["links"] = get_module_link_items_from_list(module["app"], module_name, links.split(",")) + if home_settings: + category_settings = home_settings[module["category"]] + if module_name not in category_settings: + module["hidden"] = 1 + else: + links = category_settings[module_name]["links"] + if links: + module["links"] = get_module_link_items_from_list(module["app"], module_name, links.split(",")) return allowed_modules_list diff --git a/frappe/public/js/frappe/views/components/utils.js b/frappe/public/js/frappe/views/components/utils.js index 0663037ceb..3597e49e15 100644 --- a/frappe/public/js/frappe/views/components/utils.js +++ b/frappe/public/js/frappe/views/components/utils.js @@ -1,15 +1,12 @@ -function generate_route(item, module_name) { +function generate_route(item) { if(item.type==="doctype") { item.doctype = item.name; - // // map of doctypes that belong to a module - // frappe.module_links[module_name].push(item.name); } let route = ''; if(!item.route) { if(item.link) { route=strip(item.link, "#"); - } - else if(item.type==="doctype") { + } else if(item.type==="doctype") { if(frappe.model.is_single(item.doctype)) { route = 'Form/' + item.doctype; } else { @@ -18,14 +15,11 @@ function generate_route(item, module_name) { } route="List/" + item.doctype; } - } - else if(item.type==="report" && item.is_query_report) { + } else if(item.type==="report" && item.is_query_report) { route="query-report/" + item.name; - } - else if(item.type==="report") { + } else if(item.type==="report") { route="List/" + item.doctype + "/Report/" + item.name; - } - else if(item.type==="page") { + } else if(item.type==="page") { route=item.name; } @@ -46,4 +40,4 @@ function generate_route(item, module_name) { export { generate_route -} \ No newline at end of file +};