How to hide unnecessary menu from sidebar in main page of custom app

Hi Everyone,

Thank you for this thread. After much experimentation, I’m happy to say that I’ve found a solution to this.

Here is it:

Version Number : v11.x.x-develop
Files to edit: /home/frappe/frappe-bench/apps/frappe/frappe/desk/page/modules/modules.js

Code to edit FROM:

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; })
			
            	
};

Code to edit TO:

page.get_page_modules = () => {
		return frappe.get_desktop_icons(true)          
			.filter(d => d.type==='module' && !d.blocked && d.module_name!=='Learn') //Modification
			.sort((a, b) => { return (a._label > b._label) ? 1 : -1; })
			
            	
};

This will essentially disable the “LEARN” button from the sidebar completely.

And Here’s how you remove the “HELP” section entirely from each of the pages:
Code to edit FROM:

return frappe.call({
				method: "frappe.desk.moduleview.get",
				args: {
					module: module_name
				},
				callback: function(r) {
					var m = frappe.get_module(module_name);					
					m.data = r.message.data;				
					process_data(module_name, m.data);
					page.section_data[module_name] = m;					
					render_section(m);
				},
				freeze: true,
});

Code to edit TO:

return frappe.call({
				method: "frappe.desk.moduleview.get",
				args: {
					module: module_name
				},
				callback: function(r) {
					var m = frappe.get_module(module_name);					
					m.data = r.message.data.filter(d=>d.label!=='Help'); //Modification
					process_data(module_name, m.data);
					page.section_data[module_name] = m;					
					render_section(m);
				},
				freeze: true,
});
11 Likes