from frappe import _ from frappe.widgets.moduleview import get_config data = [ { "label": _("Customize"), "icon": "icon-glass", "items": [ { "type": "doctype", "name": "Features Setup", "description": _("Show / Hide features like Serial Nos, POS etc.") }, { "type": "doctype", "name": "Authorization Rule", "description": _("Create rules to restrict transactions based on values.") }, { "type": "doctype", "name": "Notification Control", "label": _("Email Notifications"), "description": _("Automatically compose message on submission of transactions.") } ] }, { "label": _("Email"), "icon": "icon-envelope", "items": [ { "type": "doctype", "name": "Email Digest", "description": _("Create and manage daily, weekly and monthly email digests.") }, { "type": "doctype", "name": "Email Settings", "label": _("Support Email Settings"), "description": _("Setup incoming server for support email id. (e.g. support@example.com)") }, { "type": "doctype", "name": "Sales Email Settings", "description": _("Setup incoming server for sales email id. (e.g. sales@example.com)") }, { "type": "doctype", "name": "Jobs Email Settings", "description": _("Setup incoming server for jobs email id. (e.g. jobs@example.com)") }, ] }, { "label": _("Masters"), "icon": "icon-star", "items": [ { "type": "doctype", "name": "Company", "description": _("Company (not Customer or Supplier) master.") }, { "type": "doctype", "name": "Item", "description": _("Item master.") }, { "type": "doctype", "name": "Customer", "description": _("Customer master.") }, { "type": "doctype", "name": "Supplier", "description": _("Supplier master.") }, { "type": "doctype", "name": "Contact", "description": _("Contact master.") }, { "type": "doctype", "name": "Address", "description": _("Address master.") }, ] }, ] def get_data(): out = list(data) for module, label, icon in ( ("accounts", _("Accounts"), "icon-money"), ("stock", _("Stock"), "icon-truck"), ("selling", _("Selling"), "icon-tag"), ("buying", _("Buying"), "icon-shopping-cart"), ("hr", _("Human Resources"), "icon-group"), ("support", _("Support"), "icon-phone"), ("website", _("Website"), "icon-globe")): try: config = get_config("erpnext", module) except ImportError: continue for section in config: if section.get("label")==_("Setup"): out.append({ "label": label, "icon": icon, "items": section["items"] }) break return out