diff --git a/frappe/desk/page/modules/modules.js b/frappe/desk/page/modules/modules.js
index 02806396c2..e2d1c6838b 100644
--- a/frappe/desk/page/modules/modules.js
+++ b/frappe/desk/page/modules/modules.js
@@ -26,10 +26,31 @@ frappe.pages['modules'].on_page_load = function(wrapper) {
});
}
+ page.get_page_modules = () => {
+ return frappe.get_desktop_icons(true)
+ .filter(d => d.type==='module' && !d.blocked)
+ .sort((a, b) => { return (a._label > b._label) ? 1 : -1 });
+ }
+
+ let get_module_sidebar_item = (item) => `
`;
+
+ let get_sidebar_html = () => {
+ let sidebar_items_html = page.get_page_modules()
+ .map(get_module_sidebar_item.bind(this)).join("");
+
+ return ``;
+ }
+
// render sidebar
- page.sidebar.html(frappe.render_template('modules_sidebar',
- {modules: frappe.get_desktop_icons(true).sort(
- function(a, b){ return (a._label > b._label) ? 1 : -1 })}));
+ page.sidebar.html(get_sidebar_html());
// help click
page.main.on("click", '.module-section-link[data-type="help"]', function(event) {
@@ -143,12 +164,18 @@ frappe.pages['modules'].on_page_load = function(wrapper) {
}
frappe.pages['modules'].on_page_show = function(wrapper) {
- var route = frappe.get_route();
+ let route = frappe.get_route();
+ let modules = frappe.modules_page.get_page_modules().map(d => d._label);
$("body").attr("data-sidebar", 1);
if(route.length > 1) {
// activate section based on route
- frappe.modules_page.activate_link(
- frappe.modules_page.sidebar.find('.module-link[data-name="'+ route[1] +'"]'));
+ let module_name = route[1];
+ if(modules.includes(module_name)) {
+ frappe.modules_page.activate_link(
+ frappe.modules_page.sidebar.find('.module-link[data-name="'+ module_name +'"]'));
+ } else {
+ frappe.throw(__(`Module ${module_name} not found.`));
+ }
} else if(frappe.modules_page.last_link) {
// open last link
frappe.set_route('modules', frappe.modules_page.last_link.attr('data-name'))
diff --git a/frappe/desk/page/modules/modules_sidebar.html b/frappe/desk/page/modules/modules_sidebar.html
deleted file mode 100644
index 3d641c6235..0000000000
--- a/frappe/desk/page/modules/modules_sidebar.html
+++ /dev/null
@@ -1,7 +0,0 @@
-
\ No newline at end of file
diff --git a/frappe/desk/page/modules/modules_sidebar_item.html b/frappe/desk/page/modules/modules_sidebar_item.html
deleted file mode 100644
index 4e4b2c7720..0000000000
--- a/frappe/desk/page/modules/modules_sidebar_item.html
+++ /dev/null
@@ -1,7 +0,0 @@
-