ERPNext Conference 2019* ERPNext.com Blog

How to display a new module on the dashboard (desk) screen

customization
doctype
dashboard

#1

Hi,

I’ve created a new DocType called “Contacts”.
While creating the new DocType it asked me to select an existing Module or create a new Module.
I created a new Module called “Contact Management”.
While creating the new Module it asked me to enter app-name which I put it as “contacts-application”

Now, I want to be able to add this newly created module (Contact Management) to be shown on the dashboard like other default modules (HR, Sales, etc.). I’ve tried everything on this forum in my efforts to resolve this issue but I am unable to find a fix. Below are the things that I’ve already tried.

  1. Changed the View Settings of the DocType to select an option from the “Show in module section” drop-down. Also added details in the fields like “Title Field”, “Icon”, “Search Fields”, etc.
  2. Changed the Permission Rules for the DocType.
  3. Added desktop.py and module_name.py files in /erpnext/erpnext/config/ directory
  4. Changed the environment from production to development mode and repeated above steps
  5. Changed user permissions to include the module
  6. Checked the show / hide cards option on the dashboard (module name is missing from this list)
  7. Created new domain and enabled it from domain settings. Restricted the DocType to that particular domain.

After trying all of the above, I am still not able to get the module to display on the dashboard.

Points to note:

  1. The DocType and Module that I created are showing in the top search bar and also in the DocType list and Module Def List
  2. If I add the DocType in any of the default available Module like HR, Sales, etc. then its showing correctly under that particular module when I click on it from the dashboard

If anybody here could help me out to resolve this issue it’d be really great. Please send me a detailed step-by-step instructions to resolve it so that there is no confusion from my end in implementing the possible solution.

Thanks.
Shashank


#3
var contacts_icon = {
    			module_name: 'Contacts',
    			label: 'Contacts',
    			_label: __('Contacts'),
    			_id: 'Contacts',
    			_doctype: '',
    			icon: 'octicon octicon-megaphone',
    			color: '#7578f6',
    			link: 'modules/Contacts'
    		};

contacts_icon.app_icon=frappe.ui.app_icon.get_html(contacts_icon);
all_icons.push(contacts_icon);

Add this code Snippet into desktop.py file


#4

Hi,

Thanks for your reply @ROHAN_JAIN1

I’ve already managed to get this to work. I had a lot of confusion initially related to the core terms of ERPNext and Frappe like Sites, Apps, Modules, Apps, DocTypes, etc. but I have got it all figured out now with many days of trial and error.

Nevertheless, once again thanks for your reply :grinning: