diff --git a/frappe/core/page/desktop/all_applications_dialog.html b/frappe/core/page/desktop/all_applications_dialog.html index 9609122dd1..285459244f 100644 --- a/frappe/core/page/desktop/all_applications_dialog.html +++ b/frappe/core/page/desktop/all_applications_dialog.html @@ -5,7 +5,8 @@ {% for(var i=0, l=all_modules.length; i < l; i++) { var module_name = all_modules[i]; var module = frappe.get_module(module_name); - if (desktop_items.indexOf(module_name)===-1 || module.force_show) { continue; } + if (desktop_items.indexOf(module_name)===-1 + || frappe.user.is_module_blocked(module_name)) { continue; } %}
diff --git a/frappe/core/page/desktop/desktop.js b/frappe/core/page/desktop/desktop.js index 5e500091ac..31837ba7f5 100644 --- a/frappe/core/page/desktop/desktop.js +++ b/frappe/core/page/desktop/desktop.js @@ -49,7 +49,7 @@ $.extend(frappe.desktop, { _id: "all_applications", color: "#4aa3df", link: "", - //force_show: true, + force_show: true, onclick: function() { me.all_applications.show(); } diff --git a/frappe/core/page/desktop/desktop_icon_grid.html b/frappe/core/page/desktop/desktop_icon_grid.html index 3af6a837f9..9166fd315c 100644 --- a/frappe/core/page/desktop/desktop_icon_grid.html +++ b/frappe/core/page/desktop/desktop_icon_grid.html @@ -2,7 +2,8 @@
{% for (var i=0, l=desktop_items.length; i < l; i++) { var module = frappe.get_module(desktop_items[i]); - if (!module || (user_desktop_items.indexOf(module.name)===-1 && !module.force_show)) { continue; } + if (!module || (user_desktop_items.indexOf(module.name)===-1 && !module.force_show) + || frappe.user.is_module_blocked(module.name)) { continue; } %} {%= frappe.render_template("desktop_module_icon", module) %} {% } %} diff --git a/frappe/public/js/frappe/misc/user.js b/frappe/public/js/frappe/misc/user.js index 14b53f7485..641b8296e5 100644 --- a/frappe/public/js/frappe/misc/user.js +++ b/frappe/public/js/frappe/misc/user.js @@ -168,7 +168,7 @@ $.extend(frappe.user, { // filter_blocked_modules user_list = $.map(user_list, function(m) { - if(frappe.boot.user.block_modules && frappe.boot.user.block_modules.indexOf(m)!==-1) { + if(frappe.user.is_module_blocked(m)) { return null; } else { return m; @@ -179,6 +179,9 @@ $.extend(frappe.user, { } return frappe.user.modules; }, + is_module_blocked: function(m) { + return frappe.boot.user.block_modules && frappe.boot.user.block_modules.indexOf(m)!==-1; + }, is_report_manager: function() { return frappe.user.has_role(['Administrator', 'System Manager', 'Report Manager']); },