From 7e1b75a705422b0a75b5c70fd735206df9db61cd Mon Sep 17 00:00:00 2001 From: Anand Doshi Date: Wed, 7 May 2014 18:44:02 +0530 Subject: [PATCH 1/2] Newsletter status display. Fixes #1593 --- erpnext/support/doctype/newsletter/newsletter.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/erpnext/support/doctype/newsletter/newsletter.py b/erpnext/support/doctype/newsletter/newsletter.py index 42f9f09c4f..4ac9f8ae85 100644 --- a/erpnext/support/doctype/newsletter/newsletter.py +++ b/erpnext/support/doctype/newsletter/newsletter.py @@ -16,6 +16,13 @@ class Newsletter(Document): from `tabBulk Email` where ref_doctype=%s and ref_docname=%s group by status""", (self.doctype, self.name))) or None) + def as_dict(self, no_nulls=False): + doc = super(Newsletter, self).as_dict(no_nulls) + if self.get("__status_count"): + doc["__status_count"] = self.get("__status_count") + + return doc + def test_send(self, doctype="Lead"): self.recipients = self.test_email_id.split(",") self.send_to_doctype = "Lead" From 08ef467fc65a6862f8c09c15fae508dad5bafa90 Mon Sep 17 00:00:00 2001 From: Anand Doshi Date: Thu, 8 May 2014 11:43:18 +0530 Subject: [PATCH 2/2] Fixed moduleview language issue --- erpnext/config/accounts.py | 611 ++++++++++++++++---------------- erpnext/config/buying.py | 335 ++++++++--------- erpnext/config/hr.py | 391 ++++++++++---------- erpnext/config/manufacturing.py | 151 ++++---- erpnext/config/projects.py | 129 +++---- erpnext/config/selling.py | 527 +++++++++++++-------------- erpnext/config/setup.py | 246 +++++++------ erpnext/config/stock.py | 523 +++++++++++++-------------- erpnext/config/support.py | 145 ++++---- 9 files changed, 1532 insertions(+), 1526 deletions(-) diff --git a/erpnext/config/accounts.py b/erpnext/config/accounts.py index c435efb944..2d757f1ef5 100644 --- a/erpnext/config/accounts.py +++ b/erpnext/config/accounts.py @@ -1,307 +1,308 @@ from frappe import _ -data = [ - { - "label": _("Documents"), - "icon": "icon-star", - "items": [ - { - "type": "doctype", - "name": "Journal Voucher", - "description": _("Accounting journal entries.") - }, - { - "type": "doctype", - "name": "Sales Invoice", - "description": _("Bills raised to Customers.") - }, - { - "type": "doctype", - "name": "Purchase Invoice", - "description": _("Bills raised by Suppliers.") - }, - { - "type": "doctype", - "name": "Customer", - "description": _("Customer database.") - }, - { - "type": "doctype", - "name": "Supplier", - "description": _("Supplier database.") - }, - { - "type": "page", - "name": "Accounts Browser", - "icon": "icon-sitemap", - "label": _("Chart of Accounts"), - "route": "Accounts Browser/Account", - "description": _("Tree of finanial accounts."), - "doctype": "Account", - }, - ] - }, - { - "label": _("Tools"), - "icon": "icon-wrench", - "items": [ - { - "type": "doctype", - "name": "Bank Reconciliation", - "description": _("Update bank payment dates with journals.") - }, - # { - # "type": "doctype", - # "name": "Payment to Invoice Matching Tool", - # "description": _("Match non-linked Invoices and Payments.") - # }, - { - "type": "doctype", - "name": "Period Closing Voucher", - "description": _("Close Balance Sheet and book Profit or Loss.") - }, - ] - }, - { - "label": _("Setup"), - "icon": "icon-cog", - "items": [ - { - "type": "doctype", - "name": "Fiscal Year", - "description": _("Financial / accounting year.") - }, - { - "type": "page", - "name": "Accounts Browser", - "icon": "icon-sitemap", - "label": _("Chart of Accounts"), - "route": "Accounts Browser/Account", - "description": _("Tree of finanial accounts."), - "doctype": "Account", - }, - { - "type": "page", - "name": "Accounts Browser", - "icon": "icon-sitemap", - "label": _("Chart of Cost Centers"), - "route": "Accounts Browser/Cost Center", - "description": _("Tree of finanial Cost Centers."), - "doctype": "Cost Center", - }, - { - "type": "doctype", - "name": "Accounts Settings", - "description": _("Default settings for accounting transactions.") - }, - { - "type": "doctype", - "name": "Sales Taxes and Charges Master", - "description": _("Tax template for selling transactions.") - }, - { - "type": "doctype", - "name": "Purchase Taxes and Charges Master", - "description": _("Tax template for buying transactions.") - }, - { - "type": "doctype", - "name": "POS Setting", - "label": _("Point-of-Sale Setting"), - "description": _("Rules to calculate shipping amount for a sale") - }, - { - "type": "doctype", - "name": "Shipping Rule", - "description": _("Rules for adding shipping costs.") - }, - { - "type": "doctype", - "name": "Pricing Rule", - "description": _("Rules for applying pricing and discount.") - }, - { - "type": "doctype", - "name": "Currency", - "description": _("Enable / disable currencies.") - }, - { - "type": "doctype", - "name": "Currency Exchange", - "description": _("Currency exchange rate master.") - }, - { - "type":"doctype", - "name": "Budget Distribution", - "description": _("Seasonality for setting budgets.") - }, - { - "type": "doctype", - "name":"Terms and Conditions", - "label": _("Terms and Conditions Template"), - "description": _("Template of terms or contract.") - }, - { - "type": "doctype", - "name":"Mode of Payment", - "description": _("e.g. Bank, Cash, Credit Card") - }, - { - "type": "doctype", - "name":"C-Form", - "description": _("C-Form records"), - "country": "India" - } - ] - }, - { - "label": _("Main Reports"), - "icon": "icon-table", - "items": [ - { - "type": "report", - "name":"General Ledger", - "doctype": "GL Entry", - "is_query_report": True, - }, - { - "type": "page", - "name": "trial-balance", - "label": _("Trial Balance"), - "icon": "icon-table" - }, - { - "type": "report", - "name": "Accounts Receivable", - "doctype": "Sales Invoice", - "is_query_report": True - }, - { - "type": "report", - "name": "Accounts Payable", - "doctype": "Purchase Invoice", - "is_query_report": True - }, - { - "type": "report", - "name": "Sales Register", - "doctype": "Sales Invoice", - "is_query_report": True - }, - { - "type": "report", - "name": "Purchase Register", - "doctype": "Purchase Invoice", - "is_query_report": True - }, - { - "type": "page", - "name": "financial-analytics", - "label": _("Financial Analytics"), - "icon": "icon-bar-chart", - }, - { - "type": "report", - "name": "Gross Profit", - "doctype": "Sales Invoice", - "is_query_report": True - }, - ] - }, - { - "label": _("Standard Reports"), - "icon": "icon-list", - "items": [ - { - "type": "report", - "name": "Bank Reconciliation Statement", - "is_query_report": True, - "doctype": "Journal Voucher" - }, - { - "type": "report", - "name": "Ordered Items To Be Billed", - "is_query_report": True, - "doctype": "Sales Invoice" - }, - { - "type": "report", - "name": "Delivered Items To Be Billed", - "is_query_report": True, - "doctype": "Sales Invoice" - }, - { - "type": "report", - "name": "Purchase Order Items To Be Billed", - "is_query_report": True, - "doctype": "Purchase Invoice" - }, - { - "type": "report", - "name": "Received Items To Be Billed", - "is_query_report": True, - "doctype": "Purchase Invoice" - }, - { - "type": "report", - "name": "Bank Clearance Summary", - "is_query_report": True, - "doctype": "Journal Voucher" - }, - { - "type": "report", - "name": "Payment Period Based On Invoice Date", - "is_query_report": True, - "doctype": "Journal Voucher" - }, - { - "type": "report", - "name": "Sales Partners Commission", - "is_query_report": True, - "doctype": "Sales Invoice" - }, - { - "type": "report", - "name": "Customer Account Head", - "is_query_report": True, - "doctype": "Account" - }, - { - "type": "report", - "name": "Supplier Account Head", - "is_query_report": True, - "doctype": "Account" - }, - { - "type": "report", - "name": "Item-wise Sales Register", - "is_query_report": True, - "doctype": "Sales Invoice" - }, - { - "type": "report", - "name": "Item-wise Purchase Register", - "is_query_report": True, - "doctype": "Purchase Invoice" - }, - { - "type": "report", - "name": "Budget Variance Report", - "is_query_report": True, - "doctype": "Cost Center" - }, - { - "type": "report", - "name": "Purchase Invoice Trends", - "is_query_report": True, - "doctype": "Purchase Invoice" - }, - { - "type": "report", - "name": "Sales Invoice Trends", - "is_query_report": True, - "doctype": "Sales Invoice" - }, - ] - }, -] +def get_data(): + return [ + { + "label": _("Documents"), + "icon": "icon-star", + "items": [ + { + "type": "doctype", + "name": "Journal Voucher", + "description": _("Accounting journal entries.") + }, + { + "type": "doctype", + "name": "Sales Invoice", + "description": _("Bills raised to Customers.") + }, + { + "type": "doctype", + "name": "Purchase Invoice", + "description": _("Bills raised by Suppliers.") + }, + { + "type": "doctype", + "name": "Customer", + "description": _("Customer database.") + }, + { + "type": "doctype", + "name": "Supplier", + "description": _("Supplier database.") + }, + { + "type": "page", + "name": "Accounts Browser", + "icon": "icon-sitemap", + "label": _("Chart of Accounts"), + "route": "Accounts Browser/Account", + "description": _("Tree of finanial accounts."), + "doctype": "Account", + }, + ] + }, + { + "label": _("Tools"), + "icon": "icon-wrench", + "items": [ + { + "type": "doctype", + "name": "Bank Reconciliation", + "description": _("Update bank payment dates with journals.") + }, + # { + # "type": "doctype", + # "name": "Payment to Invoice Matching Tool", + # "description": _("Match non-linked Invoices and Payments.") + # }, + { + "type": "doctype", + "name": "Period Closing Voucher", + "description": _("Close Balance Sheet and book Profit or Loss.") + }, + ] + }, + { + "label": _("Setup"), + "icon": "icon-cog", + "items": [ + { + "type": "doctype", + "name": "Fiscal Year", + "description": _("Financial / accounting year.") + }, + { + "type": "page", + "name": "Accounts Browser", + "icon": "icon-sitemap", + "label": _("Chart of Accounts"), + "route": "Accounts Browser/Account", + "description": _("Tree of finanial accounts."), + "doctype": "Account", + }, + { + "type": "page", + "name": "Accounts Browser", + "icon": "icon-sitemap", + "label": _("Chart of Cost Centers"), + "route": "Accounts Browser/Cost Center", + "description": _("Tree of finanial Cost Centers."), + "doctype": "Cost Center", + }, + { + "type": "doctype", + "name": "Accounts Settings", + "description": _("Default settings for accounting transactions.") + }, + { + "type": "doctype", + "name": "Sales Taxes and Charges Master", + "description": _("Tax template for selling transactions.") + }, + { + "type": "doctype", + "name": "Purchase Taxes and Charges Master", + "description": _("Tax template for buying transactions.") + }, + { + "type": "doctype", + "name": "POS Setting", + "label": _("Point-of-Sale Setting"), + "description": _("Rules to calculate shipping amount for a sale") + }, + { + "type": "doctype", + "name": "Shipping Rule", + "description": _("Rules for adding shipping costs.") + }, + { + "type": "doctype", + "name": "Pricing Rule", + "description": _("Rules for applying pricing and discount.") + }, + { + "type": "doctype", + "name": "Currency", + "description": _("Enable / disable currencies.") + }, + { + "type": "doctype", + "name": "Currency Exchange", + "description": _("Currency exchange rate master.") + }, + { + "type":"doctype", + "name": "Budget Distribution", + "description": _("Seasonality for setting budgets.") + }, + { + "type": "doctype", + "name":"Terms and Conditions", + "label": _("Terms and Conditions Template"), + "description": _("Template of terms or contract.") + }, + { + "type": "doctype", + "name":"Mode of Payment", + "description": _("e.g. Bank, Cash, Credit Card") + }, + { + "type": "doctype", + "name":"C-Form", + "description": _("C-Form records"), + "country": "India" + } + ] + }, + { + "label": _("Main Reports"), + "icon": "icon-table", + "items": [ + { + "type": "report", + "name":"General Ledger", + "doctype": "GL Entry", + "is_query_report": True, + }, + { + "type": "page", + "name": "trial-balance", + "label": _("Trial Balance"), + "icon": "icon-table" + }, + { + "type": "report", + "name": "Accounts Receivable", + "doctype": "Sales Invoice", + "is_query_report": True + }, + { + "type": "report", + "name": "Accounts Payable", + "doctype": "Purchase Invoice", + "is_query_report": True + }, + { + "type": "report", + "name": "Sales Register", + "doctype": "Sales Invoice", + "is_query_report": True + }, + { + "type": "report", + "name": "Purchase Register", + "doctype": "Purchase Invoice", + "is_query_report": True + }, + { + "type": "page", + "name": "financial-analytics", + "label": _("Financial Analytics"), + "icon": "icon-bar-chart", + }, + { + "type": "report", + "name": "Gross Profit", + "doctype": "Sales Invoice", + "is_query_report": True + }, + ] + }, + { + "label": _("Standard Reports"), + "icon": "icon-list", + "items": [ + { + "type": "report", + "name": "Bank Reconciliation Statement", + "is_query_report": True, + "doctype": "Journal Voucher" + }, + { + "type": "report", + "name": "Ordered Items To Be Billed", + "is_query_report": True, + "doctype": "Sales Invoice" + }, + { + "type": "report", + "name": "Delivered Items To Be Billed", + "is_query_report": True, + "doctype": "Sales Invoice" + }, + { + "type": "report", + "name": "Purchase Order Items To Be Billed", + "is_query_report": True, + "doctype": "Purchase Invoice" + }, + { + "type": "report", + "name": "Received Items To Be Billed", + "is_query_report": True, + "doctype": "Purchase Invoice" + }, + { + "type": "report", + "name": "Bank Clearance Summary", + "is_query_report": True, + "doctype": "Journal Voucher" + }, + { + "type": "report", + "name": "Payment Period Based On Invoice Date", + "is_query_report": True, + "doctype": "Journal Voucher" + }, + { + "type": "report", + "name": "Sales Partners Commission", + "is_query_report": True, + "doctype": "Sales Invoice" + }, + { + "type": "report", + "name": "Customer Account Head", + "is_query_report": True, + "doctype": "Account" + }, + { + "type": "report", + "name": "Supplier Account Head", + "is_query_report": True, + "doctype": "Account" + }, + { + "type": "report", + "name": "Item-wise Sales Register", + "is_query_report": True, + "doctype": "Sales Invoice" + }, + { + "type": "report", + "name": "Item-wise Purchase Register", + "is_query_report": True, + "doctype": "Purchase Invoice" + }, + { + "type": "report", + "name": "Budget Variance Report", + "is_query_report": True, + "doctype": "Cost Center" + }, + { + "type": "report", + "name": "Purchase Invoice Trends", + "is_query_report": True, + "doctype": "Purchase Invoice" + }, + { + "type": "report", + "name": "Sales Invoice Trends", + "is_query_report": True, + "doctype": "Sales Invoice" + }, + ] + }, + ] diff --git a/erpnext/config/buying.py b/erpnext/config/buying.py index 0c8c2f647a..c8a74be2e5 100644 --- a/erpnext/config/buying.py +++ b/erpnext/config/buying.py @@ -1,169 +1,170 @@ from frappe import _ -data = [ - { - "label": _("Documents"), - "icon": "icon-star", - "items": [ - { - "type": "doctype", - "name": "Supplier", - "description": _("Supplier database."), - }, - { - "type": "doctype", - "name": "Material Request", - "description": _("Request for purchase."), - }, - { - "type": "doctype", - "name": "Supplier Quotation", - "description": _("Quotations received from Suppliers."), - }, - { - "type": "doctype", - "name": "Purchase Order", - "description": _("Purchase Orders given to Suppliers."), - }, - { - "type": "doctype", - "name": "Contact", - "description": _("All Contacts."), - }, - { - "type": "doctype", - "name": "Address", - "description": _("All Addresses."), - }, - { - "type": "doctype", - "name": "Item", - "description": _("All Products or Services."), - }, - ] - }, - { - "label": _("Setup"), - "icon": "icon-cog", - "items": [ - { - "type": "doctype", - "name": "Buying Settings", - "description": _("Default settings for buying transactions.") - }, - { - "type": "doctype", - "name": "Supplier Type", - "description": _("Supplier Type master.") - }, - { - "type": "page", - "name": "Sales Browser", - "icon": "icon-sitemap", - "label": _("Item Group Tree"), - "link": "Sales Browser/Item Group", - "description": _("Tree of Item Groups."), - "doctype": "Item Group", - }, - { - "type": "doctype", - "name":"Terms and Conditions", - "label": _("Terms and Conditions Template"), - "description": _("Template of terms or contract.") - }, - { - "type": "doctype", - "name": "Purchase Taxes and Charges Master", - "description": _("Tax template for buying transactions.") - }, - { - "type": "doctype", - "name": "Price List", - "description": _("Price List master.") - }, - { - "type": "doctype", - "name": "Item Price", - "description": _("Multiple Item prices."), - "route": "Report/Item Price" - }, - { - "type": "doctype", - "name": "Pricing Rule", - "description": _("Rules for applying pricing and discount.") - }, - ] - }, - { - "label": _("Main Reports"), - "icon": "icon-table", - "items": [ - { - "type": "page", - "name": "purchase-analytics", - "label": _("Purchase Analytics"), - "icon": "icon-bar-chart", - }, - ] - }, - { - "label": _("Standard Reports"), - "icon": "icon-list", - "items": [ - { - "type": "report", - "is_query_report": True, - "name": "Items To Be Requested", - "doctype": "Item" - }, - { - "type": "report", - "is_query_report": True, - "name": "Requested Items To Be Ordered", - "doctype": "Material Request" - }, - { - "type": "report", - "is_query_report": True, - "name": "Material Requests for which Supplier Quotations are not created", - "doctype": "Material Request" - }, - { - "type": "report", - "is_query_report": True, - "name": "Purchase In Transit", - "doctype": "Purchase Order" - }, - { - "type": "report", - "is_query_report": True, - "name": "Item-wise Purchase History", - "doctype": "Item" - }, - { - "type": "report", - "is_query_report": True, - "name": "Item-wise Last Purchase Rate", - "doctype": "Item" - }, - { - "type": "report", - "is_query_report": True, - "name": "Purchase Order Trends", - "doctype": "Purchase Order" - }, - { - "type": "report", - "is_query_report": True, - "name": "Supplier Addresses And Contacts", - "doctype": "Supplier" - }, - { - "type": "report", - "is_query_report": True, - "name": "Supplier-Wise Sales Analytics", - "doctype": "Stock Ledger Entry" - } - ] - }, -] \ No newline at end of file +def get_data(): + return [ + { + "label": _("Documents"), + "icon": "icon-star", + "items": [ + { + "type": "doctype", + "name": "Supplier", + "description": _("Supplier database."), + }, + { + "type": "doctype", + "name": "Material Request", + "description": _("Request for purchase."), + }, + { + "type": "doctype", + "name": "Supplier Quotation", + "description": _("Quotations received from Suppliers."), + }, + { + "type": "doctype", + "name": "Purchase Order", + "description": _("Purchase Orders given to Suppliers."), + }, + { + "type": "doctype", + "name": "Contact", + "description": _("All Contacts."), + }, + { + "type": "doctype", + "name": "Address", + "description": _("All Addresses."), + }, + { + "type": "doctype", + "name": "Item", + "description": _("All Products or Services."), + }, + ] + }, + { + "label": _("Setup"), + "icon": "icon-cog", + "items": [ + { + "type": "doctype", + "name": "Buying Settings", + "description": _("Default settings for buying transactions.") + }, + { + "type": "doctype", + "name": "Supplier Type", + "description": _("Supplier Type master.") + }, + { + "type": "page", + "name": "Sales Browser", + "icon": "icon-sitemap", + "label": _("Item Group Tree"), + "link": "Sales Browser/Item Group", + "description": _("Tree of Item Groups."), + "doctype": "Item Group", + }, + { + "type": "doctype", + "name":"Terms and Conditions", + "label": _("Terms and Conditions Template"), + "description": _("Template of terms or contract.") + }, + { + "type": "doctype", + "name": "Purchase Taxes and Charges Master", + "description": _("Tax template for buying transactions.") + }, + { + "type": "doctype", + "name": "Price List", + "description": _("Price List master.") + }, + { + "type": "doctype", + "name": "Item Price", + "description": _("Multiple Item prices."), + "route": "Report/Item Price" + }, + { + "type": "doctype", + "name": "Pricing Rule", + "description": _("Rules for applying pricing and discount.") + }, + ] + }, + { + "label": _("Main Reports"), + "icon": "icon-table", + "items": [ + { + "type": "page", + "name": "purchase-analytics", + "label": _("Purchase Analytics"), + "icon": "icon-bar-chart", + }, + ] + }, + { + "label": _("Standard Reports"), + "icon": "icon-list", + "items": [ + { + "type": "report", + "is_query_report": True, + "name": "Items To Be Requested", + "doctype": "Item" + }, + { + "type": "report", + "is_query_report": True, + "name": "Requested Items To Be Ordered", + "doctype": "Material Request" + }, + { + "type": "report", + "is_query_report": True, + "name": "Material Requests for which Supplier Quotations are not created", + "doctype": "Material Request" + }, + { + "type": "report", + "is_query_report": True, + "name": "Purchase In Transit", + "doctype": "Purchase Order" + }, + { + "type": "report", + "is_query_report": True, + "name": "Item-wise Purchase History", + "doctype": "Item" + }, + { + "type": "report", + "is_query_report": True, + "name": "Item-wise Last Purchase Rate", + "doctype": "Item" + }, + { + "type": "report", + "is_query_report": True, + "name": "Purchase Order Trends", + "doctype": "Purchase Order" + }, + { + "type": "report", + "is_query_report": True, + "name": "Supplier Addresses And Contacts", + "doctype": "Supplier" + }, + { + "type": "report", + "is_query_report": True, + "name": "Supplier-Wise Sales Analytics", + "doctype": "Stock Ledger Entry" + } + ] + }, + ] diff --git a/erpnext/config/hr.py b/erpnext/config/hr.py index d944b94643..1fac46940e 100644 --- a/erpnext/config/hr.py +++ b/erpnext/config/hr.py @@ -1,197 +1,198 @@ from frappe import _ -data = [ - { - "label": _("Documents"), - "icon": "icon-star", - "items": [ - { - "type": "doctype", - "name": "Employee", - "description": _("Employee records."), - }, - { - "type": "doctype", - "name": "Salary Slip", - "description": _("Monthly salary statement."), - }, - { - "type": "doctype", - "name": "Leave Application", - "description": _("Applications for leave."), - }, - { - "type": "doctype", - "name": "Attendance", - "description": _("Attendance record."), - }, - { - "type": "doctype", - "name": "Expense Claim", - "description": _("Claims for company expense."), - }, - { - "type": "doctype", - "name": "Appraisal", - "description": _("Performance appraisal."), - }, - { - "type": "doctype", - "name": "Job Applicant", - "description": _("Applicant for a Job."), - }, - { - "type": "doctype", - "name": "Job Opening", - "description": _("Opening for a Job."), - }, - ] - }, - { - "label": _("Tools"), - "icon": "icon-wrench", - "items": [ - { - "type": "doctype", - "name": "Salary Manager", - "label": _("Process Payroll"), - "description":_("Generate Salary Slips"), - "hide_count": True - }, - { - "type": "doctype", - "name": "Upload Attendance", - "description":_("Upload attendance from a .csv file"), - "hide_count": True - }, - { - "type": "doctype", - "name": "Leave Control Panel", - "label": _("Leave Allocation Tool"), - "description":_("Allocate leaves for the year."), - "hide_count": True - }, - ] - }, - { - "label": _("Setup"), - "icon": "icon-cog", - "items": [ - { - "type": "doctype", - "name": "HR Settings", - "description": _("Settings for HR Module") - }, - { - "type": "doctype", - "name": "Employee", - "description": _("Employee master.") - }, - { - "type": "doctype", - "name": "Employment Type", - "description": _("Types of employment (permanent, contract, intern etc.).") - }, - { - "type": "doctype", - "name": "Branch", - "description": _("Organization branch master.") - }, - { - "type": "doctype", - "name": "Department", - "description": _("Organization unit (department) master.") - }, - { - "type": "doctype", - "name": "Designation", - "description": _("Employee designation (e.g. CEO, Director etc.).") - }, - { - "type": "doctype", - "name": "Salary Structure", - "description": _("Salary template master.") - }, - { - "type": "doctype", - "name": "Earning Type", - "description": _("Salary components.") - }, - { - "type": "doctype", - "name": "Deduction Type", - "description": _("Tax and other salary deductions.") - }, - { - "type": "doctype", - "name": "Leave Allocation", - "description": _("Allocate leaves for a period.") - }, - { - "type": "doctype", - "name":"Leave Type", - "description": _("Type of leaves like casual, sick etc."), - }, - { - "type": "doctype", - "name": "Holiday List", - "description": _("Holiday master.") - }, - { - "type": "doctype", - "name": "Leave Block List", - "description": _("Block leave applications by department.") - }, - { - "type": "doctype", - "name": "Appraisal Template", - "description": _("Template for performance appraisals.") - }, - { - "type": "doctype", - "name": "Expense Claim Type", - "description": _("Types of Expense Claim.") - }, - { - "type": "doctype", - "name": "Jobs Email Settings", - "description": _("Setup incoming server for jobs email id. (e.g. jobs@example.com)") - }, - ] - }, - { - "label": _("Standard Reports"), - "icon": "icon-list", - "items": [ - { - "type": "report", - "is_query_report": True, - "name": "Employee Leave Balance", - "doctype": "Leave Application" - }, - { - "type": "report", - "is_query_report": True, - "name": "Employee Birthday", - "doctype": "Employee" - }, - { - "type": "report", - "name": "Employee Information", - "doctype": "Employee" - }, - { - "type": "report", - "is_query_report": True, - "name": "Monthly Salary Register", - "doctype": "Salary Slip" - }, - { - "type": "report", - "is_query_report": True, - "name": "Monthly Attendance Sheet", - "doctype": "Attendance" - }, - ] - }, -] +def get_data(): + return [ + { + "label": _("Documents"), + "icon": "icon-star", + "items": [ + { + "type": "doctype", + "name": "Employee", + "description": _("Employee records."), + }, + { + "type": "doctype", + "name": "Salary Slip", + "description": _("Monthly salary statement."), + }, + { + "type": "doctype", + "name": "Leave Application", + "description": _("Applications for leave."), + }, + { + "type": "doctype", + "name": "Attendance", + "description": _("Attendance record."), + }, + { + "type": "doctype", + "name": "Expense Claim", + "description": _("Claims for company expense."), + }, + { + "type": "doctype", + "name": "Appraisal", + "description": _("Performance appraisal."), + }, + { + "type": "doctype", + "name": "Job Applicant", + "description": _("Applicant for a Job."), + }, + { + "type": "doctype", + "name": "Job Opening", + "description": _("Opening for a Job."), + }, + ] + }, + { + "label": _("Tools"), + "icon": "icon-wrench", + "items": [ + { + "type": "doctype", + "name": "Salary Manager", + "label": _("Process Payroll"), + "description":_("Generate Salary Slips"), + "hide_count": True + }, + { + "type": "doctype", + "name": "Upload Attendance", + "description":_("Upload attendance from a .csv file"), + "hide_count": True + }, + { + "type": "doctype", + "name": "Leave Control Panel", + "label": _("Leave Allocation Tool"), + "description":_("Allocate leaves for the year."), + "hide_count": True + }, + ] + }, + { + "label": _("Setup"), + "icon": "icon-cog", + "items": [ + { + "type": "doctype", + "name": "HR Settings", + "description": _("Settings for HR Module") + }, + { + "type": "doctype", + "name": "Employee", + "description": _("Employee master.") + }, + { + "type": "doctype", + "name": "Employment Type", + "description": _("Types of employment (permanent, contract, intern etc.).") + }, + { + "type": "doctype", + "name": "Branch", + "description": _("Organization branch master.") + }, + { + "type": "doctype", + "name": "Department", + "description": _("Organization unit (department) master.") + }, + { + "type": "doctype", + "name": "Designation", + "description": _("Employee designation (e.g. CEO, Director etc.).") + }, + { + "type": "doctype", + "name": "Salary Structure", + "description": _("Salary template master.") + }, + { + "type": "doctype", + "name": "Earning Type", + "description": _("Salary components.") + }, + { + "type": "doctype", + "name": "Deduction Type", + "description": _("Tax and other salary deductions.") + }, + { + "type": "doctype", + "name": "Leave Allocation", + "description": _("Allocate leaves for a period.") + }, + { + "type": "doctype", + "name":"Leave Type", + "description": _("Type of leaves like casual, sick etc."), + }, + { + "type": "doctype", + "name": "Holiday List", + "description": _("Holiday master.") + }, + { + "type": "doctype", + "name": "Leave Block List", + "description": _("Block leave applications by department.") + }, + { + "type": "doctype", + "name": "Appraisal Template", + "description": _("Template for performance appraisals.") + }, + { + "type": "doctype", + "name": "Expense Claim Type", + "description": _("Types of Expense Claim.") + }, + { + "type": "doctype", + "name": "Jobs Email Settings", + "description": _("Setup incoming server for jobs email id. (e.g. jobs@example.com)") + }, + ] + }, + { + "label": _("Standard Reports"), + "icon": "icon-list", + "items": [ + { + "type": "report", + "is_query_report": True, + "name": "Employee Leave Balance", + "doctype": "Leave Application" + }, + { + "type": "report", + "is_query_report": True, + "name": "Employee Birthday", + "doctype": "Employee" + }, + { + "type": "report", + "name": "Employee Information", + "doctype": "Employee" + }, + { + "type": "report", + "is_query_report": True, + "name": "Monthly Salary Register", + "doctype": "Salary Slip" + }, + { + "type": "report", + "is_query_report": True, + "name": "Monthly Attendance Sheet", + "doctype": "Attendance" + }, + ] + }, + ] diff --git a/erpnext/config/manufacturing.py b/erpnext/config/manufacturing.py index b213f5dd41..a1644a2da9 100644 --- a/erpnext/config/manufacturing.py +++ b/erpnext/config/manufacturing.py @@ -1,78 +1,79 @@ from frappe import _ -data = [ - { - "label": _("Documents"), - "icon": "icon-star", - "items": [ - { - "type": "doctype", - "name": "BOM", - "description": _("Bill of Materials (BOM)"), - "label": _("Bill of Material") - }, - { - "type": "doctype", - "name": "Production Order", - "description": _("Orders released for production."), - }, - { - "type": "doctype", - "name": "Item", - "description": _("All Products or Services."), - }, - { - "type": "doctype", - "name": "Workstation", - "description": _("Where manufacturing operations are carried out."), - }, +def get_data(): + return [ + { + "label": _("Documents"), + "icon": "icon-star", + "items": [ + { + "type": "doctype", + "name": "BOM", + "description": _("Bill of Materials (BOM)"), + "label": _("Bill of Material") + }, + { + "type": "doctype", + "name": "Production Order", + "description": _("Orders released for production."), + }, + { + "type": "doctype", + "name": "Item", + "description": _("All Products or Services."), + }, + { + "type": "doctype", + "name": "Workstation", + "description": _("Where manufacturing operations are carried out."), + }, - ] - }, - { - "label": _("Tools"), - "icon": "icon-wrench", - "items": [ - { - "type": "doctype", - "name": "Production Planning Tool", - "description": _("Generate Material Requests (MRP) and Production Orders."), - }, - { - "type": "doctype", - "name": "BOM Replace Tool", - "description": _("Replace Item / BOM in all BOMs"), - }, - ] - }, - { - "label": _("Standard Reports"), - "icon": "icon-list", - "items": [ - { - "type": "report", - "is_query_report": True, - "name": "Open Production Orders", - "doctype": "Production Order" - }, - { - "type": "report", - "is_query_report": True, - "name": "Production Orders in Progress", - "doctype": "Production Order" - }, - { - "type": "report", - "is_query_report": True, - "name": "Issued Items Against Production Order", - "doctype": "Production Order" - }, - { - "type": "report", - "is_query_report": True, - "name": "Completed Production Orders", - "doctype": "Production Order" - }, - ] - }, -] + ] + }, + { + "label": _("Tools"), + "icon": "icon-wrench", + "items": [ + { + "type": "doctype", + "name": "Production Planning Tool", + "description": _("Generate Material Requests (MRP) and Production Orders."), + }, + { + "type": "doctype", + "name": "BOM Replace Tool", + "description": _("Replace Item / BOM in all BOMs"), + }, + ] + }, + { + "label": _("Standard Reports"), + "icon": "icon-list", + "items": [ + { + "type": "report", + "is_query_report": True, + "name": "Open Production Orders", + "doctype": "Production Order" + }, + { + "type": "report", + "is_query_report": True, + "name": "Production Orders in Progress", + "doctype": "Production Order" + }, + { + "type": "report", + "is_query_report": True, + "name": "Issued Items Against Production Order", + "doctype": "Production Order" + }, + { + "type": "report", + "is_query_report": True, + "name": "Completed Production Orders", + "doctype": "Production Order" + }, + ] + }, + ] diff --git a/erpnext/config/projects.py b/erpnext/config/projects.py index 8cc30a5f1f..a00b4628a6 100644 --- a/erpnext/config/projects.py +++ b/erpnext/config/projects.py @@ -1,66 +1,67 @@ from frappe import _ -data = [ - { - "label": _("Documents"), - "icon": "icon-star", - "items": [ - { - "type": "doctype", - "name": "Task", - "description": _("Project activity / task."), - }, - { - "type": "doctype", - "name": "Project", - "description": _("Project master."), - }, - { - "type": "doctype", - "name": "Time Log", - "description": _("Time Log for tasks."), - }, - { - "type": "doctype", - "name": "Time Log Batch", - "description": _("Batch Time Logs for billing."), - }, - { - "type": "doctype", - "name": "Activity Type", - "description": _("Types of activities for Time Sheets"), - }, - ] - }, - { - "label": _("Tools"), - "icon": "icon-wrench", - "items": [ - { - "type": "report", - "route": "Gantt/Task", - "doctype": "Task", - "name": "Gantt Chart", - "description": _("Gantt chart of all tasks.") - }, - ] - }, - { - "label": _("Standard Reports"), - "icon": "icon-list", - "items": [ - { - "type": "report", - "is_query_report": True, - "name": "Daily Time Log Summary", - "doctype": "Time Log" - }, - { - "type": "report", - "is_query_report": True, - "name": "Project wise Stock Tracking", - "doctype": "Project" - }, - ] - }, -] \ No newline at end of file +def get_data(): + return [ + { + "label": _("Documents"), + "icon": "icon-star", + "items": [ + { + "type": "doctype", + "name": "Task", + "description": _("Project activity / task."), + }, + { + "type": "doctype", + "name": "Project", + "description": _("Project master."), + }, + { + "type": "doctype", + "name": "Time Log", + "description": _("Time Log for tasks."), + }, + { + "type": "doctype", + "name": "Time Log Batch", + "description": _("Batch Time Logs for billing."), + }, + { + "type": "doctype", + "name": "Activity Type", + "description": _("Types of activities for Time Sheets"), + }, + ] + }, + { + "label": _("Tools"), + "icon": "icon-wrench", + "items": [ + { + "type": "report", + "route": "Gantt/Task", + "doctype": "Task", + "name": "Gantt Chart", + "description": _("Gantt chart of all tasks.") + }, + ] + }, + { + "label": _("Standard Reports"), + "icon": "icon-list", + "items": [ + { + "type": "report", + "is_query_report": True, + "name": "Daily Time Log Summary", + "doctype": "Time Log" + }, + { + "type": "report", + "is_query_report": True, + "name": "Project wise Stock Tracking", + "doctype": "Project" + }, + ] + }, + ] diff --git a/erpnext/config/selling.py b/erpnext/config/selling.py index 04e624485d..4d3e059188 100644 --- a/erpnext/config/selling.py +++ b/erpnext/config/selling.py @@ -1,265 +1,266 @@ from frappe import _ -data = [ - { - "label": _("Documents"), - "icon": "icon-star", - "items": [ - { - "type": "doctype", - "name": "Lead", - "description": _("Database of potential customers."), - }, - { - "type": "doctype", - "name": "Customer", - "description": _("Customer database."), - }, - { - "type": "doctype", - "name": "Opportunity", - "description": _("Potential opportunities for selling."), - }, - { - "type": "doctype", - "name": "Quotation", - "description": _("Quotes to Leads or Customers."), - }, - { - "type": "doctype", - "name": "Sales Order", - "description": _("Confirmed orders from Customers."), - }, - { - "type": "doctype", - "name": "Contact", - "description": _("All Contacts."), - }, - { - "type": "doctype", - "name": "Address", - "description": _("All Addresses."), - }, - { - "type": "doctype", - "name": "Item", - "description": _("All Products or Services."), - }, - ] - }, - { - "label": _("Tools"), - "icon": "icon-wrench", - "items": [ - { - "type": "doctype", - "name": "SMS Center", - "description":_("Send mass SMS to your contacts"), - }, - ] - }, - { - "label": _("Setup"), - "icon": "icon-cog", - "items": [ - { - "type": "doctype", - "name": "Selling Settings", - "description": _("Default settings for selling transactions.") - }, - { - "type": "doctype", - "name": "Campaign", - "description": _("Sales campaigns."), - }, - { - "type": "page", - "label": _("Customer Group"), - "name": "Sales Browser", - "icon": "icon-sitemap", - "link": "Sales Browser/Customer Group", - "description": _("Manage Customer Group Tree."), - "doctype": "Customer Group", - }, - { - "type": "page", - "label": _("Territory"), - "name": "Sales Browser", - "icon": "icon-sitemap", - "link": "Sales Browser/Territory", - "description": _("Manage Territory Tree."), - "doctype": "Territory", - }, - { - "type": "page", - "label": _("Sales Person"), - "name": "Sales Browser", - "icon": "icon-sitemap", - "link": "Sales Browser/Sales Person", - "description": _("Manage Sales Person Tree."), - "doctype": "Sales Person", - }, - { - "type": "page", - "name": "Sales Browser", - "icon": "icon-sitemap", - "label": _("Item Group Tree"), - "link": "Sales Browser/Item Group", - "description": _("Tree of Item Groups."), - "doctype": "Item Group", - }, - { - "type": "doctype", - "name":"Terms and Conditions", - "label": _("Terms and Conditions Template"), - "description": _("Template of terms or contract.") - }, - { - "type": "doctype", - "name": "Sales Taxes and Charges Master", - "description": _("Tax template for selling transactions.") - }, - { - "type": "doctype", - "name": "Shipping Rule", - "description": _("Rules for adding shipping costs.") - }, - { - "type": "doctype", - "name": "Price List", - "description": _("Price List master.") - }, - { - "type": "doctype", - "name": "Item Price", - "description": _("Multiple Item prices."), - "route": "Report/Item Price" - }, - { - "type": "doctype", - "name": "Pricing Rule", - "description": _("Rules for applying pricing and discount.") - }, - { - "type": "doctype", - "name": "Sales BOM", - "description": _("Bundle items at time of sale."), - }, - { - "type": "doctype", - "name": "Sales Email Settings", - "description": _("Setup incoming server for sales email id. (e.g. sales@example.com)") - }, - { - "type": "doctype", - "name": "Industry Type", - "description": _("Track Leads by Industry Type.") - }, - ] - }, - { - "label": _("Main Reports"), - "icon": "icon-table", - "items": [ - { - "type": "page", - "name": "sales-analytics", - "label": _("Sales Analytics"), - "icon": "icon-bar-chart", - }, - { - "type": "page", - "name": "sales-funnel", - "label": _("Sales Funnel"), - "icon": "icon-bar-chart", - }, - { - "type": "report", - "is_query_report": True, - "name": "Customer Acquisition and Loyalty", - "doctype": "Customer", - "icon": "icon-bar-chart", - }, - ] - }, - { - "label": _("Standard Reports"), - "icon": "icon-list", - "items": [ - { - "type": "report", - "is_query_report": True, - "name": "Lead Details", - "doctype": "Lead" - }, - { - "type": "report", - "is_query_report": True, - "name": "Customer Addresses And Contacts", - "doctype": "Contact" - }, - { - "type": "report", - "is_query_report": True, - "name": "Ordered Items To Be Delivered", - "doctype": "Sales Order" - }, - { - "type": "report", - "is_query_report": True, - "name": "Sales Person-wise Transaction Summary", - "doctype": "Sales Order" - }, - { - "type": "report", - "is_query_report": True, - "name": "Item-wise Sales History", - "doctype": "Item" - }, - { - "type": "report", - "is_query_report": True, - "name": "Territory Target Variance (Item Group-Wise)", - "route": "query-report/Territory Target Variance Item Group-Wise", - "doctype": "Territory" - }, - { - "type": "report", - "is_query_report": True, - "name": "Sales Person Target Variance (Item Group-Wise)", - "route": "query-report/Sales Person Target Variance Item Group-Wise", - "doctype": "Sales Person", - }, - { - "type": "report", - "is_query_report": True, - "name": "Customers Not Buying Since Long Time", - "doctype": "Sales Order" - }, - { - "type": "report", - "is_query_report": True, - "name": "Quotation Trend", - "doctype": "Quotation" - }, - { - "type": "report", - "is_query_report": True, - "name": "Sales Order Trends", - "doctype": "Sales Order" - }, - { - "type": "report", - "is_query_report": True, - "name": "Available Stock for Packing Items", - "doctype": "Item", - }, - { - "type": "report", - "is_query_report": True, - "name": "Pending SO Items For Purchase Request", - "doctype": "Sales Order" - }, - ] - }, -] +def get_data(): + return [ + { + "label": _("Documents"), + "icon": "icon-star", + "items": [ + { + "type": "doctype", + "name": "Lead", + "description": _("Database of potential customers."), + }, + { + "type": "doctype", + "name": "Customer", + "description": _("Customer database."), + }, + { + "type": "doctype", + "name": "Opportunity", + "description": _("Potential opportunities for selling."), + }, + { + "type": "doctype", + "name": "Quotation", + "description": _("Quotes to Leads or Customers."), + }, + { + "type": "doctype", + "name": "Sales Order", + "description": _("Confirmed orders from Customers."), + }, + { + "type": "doctype", + "name": "Contact", + "description": _("All Contacts."), + }, + { + "type": "doctype", + "name": "Address", + "description": _("All Addresses."), + }, + { + "type": "doctype", + "name": "Item", + "description": _("All Products or Services."), + }, + ] + }, + { + "label": _("Tools"), + "icon": "icon-wrench", + "items": [ + { + "type": "doctype", + "name": "SMS Center", + "description":_("Send mass SMS to your contacts"), + }, + ] + }, + { + "label": _("Setup"), + "icon": "icon-cog", + "items": [ + { + "type": "doctype", + "name": "Selling Settings", + "description": _("Default settings for selling transactions.") + }, + { + "type": "doctype", + "name": "Campaign", + "description": _("Sales campaigns."), + }, + { + "type": "page", + "label": _("Customer Group"), + "name": "Sales Browser", + "icon": "icon-sitemap", + "link": "Sales Browser/Customer Group", + "description": _("Manage Customer Group Tree."), + "doctype": "Customer Group", + }, + { + "type": "page", + "label": _("Territory"), + "name": "Sales Browser", + "icon": "icon-sitemap", + "link": "Sales Browser/Territory", + "description": _("Manage Territory Tree."), + "doctype": "Territory", + }, + { + "type": "page", + "label": _("Sales Person"), + "name": "Sales Browser", + "icon": "icon-sitemap", + "link": "Sales Browser/Sales Person", + "description": _("Manage Sales Person Tree."), + "doctype": "Sales Person", + }, + { + "type": "page", + "name": "Sales Browser", + "icon": "icon-sitemap", + "label": _("Item Group Tree"), + "link": "Sales Browser/Item Group", + "description": _("Tree of Item Groups."), + "doctype": "Item Group", + }, + { + "type": "doctype", + "name":"Terms and Conditions", + "label": _("Terms and Conditions Template"), + "description": _("Template of terms or contract.") + }, + { + "type": "doctype", + "name": "Sales Taxes and Charges Master", + "description": _("Tax template for selling transactions.") + }, + { + "type": "doctype", + "name": "Shipping Rule", + "description": _("Rules for adding shipping costs.") + }, + { + "type": "doctype", + "name": "Price List", + "description": _("Price List master.") + }, + { + "type": "doctype", + "name": "Item Price", + "description": _("Multiple Item prices."), + "route": "Report/Item Price" + }, + { + "type": "doctype", + "name": "Pricing Rule", + "description": _("Rules for applying pricing and discount.") + }, + { + "type": "doctype", + "name": "Sales BOM", + "description": _("Bundle items at time of sale."), + }, + { + "type": "doctype", + "name": "Sales Email Settings", + "description": _("Setup incoming server for sales email id. (e.g. sales@example.com)") + }, + { + "type": "doctype", + "name": "Industry Type", + "description": _("Track Leads by Industry Type.") + }, + ] + }, + { + "label": _("Main Reports"), + "icon": "icon-table", + "items": [ + { + "type": "page", + "name": "sales-analytics", + "label": _("Sales Analytics"), + "icon": "icon-bar-chart", + }, + { + "type": "page", + "name": "sales-funnel", + "label": _("Sales Funnel"), + "icon": "icon-bar-chart", + }, + { + "type": "report", + "is_query_report": True, + "name": "Customer Acquisition and Loyalty", + "doctype": "Customer", + "icon": "icon-bar-chart", + }, + ] + }, + { + "label": _("Standard Reports"), + "icon": "icon-list", + "items": [ + { + "type": "report", + "is_query_report": True, + "name": "Lead Details", + "doctype": "Lead" + }, + { + "type": "report", + "is_query_report": True, + "name": "Customer Addresses And Contacts", + "doctype": "Contact" + }, + { + "type": "report", + "is_query_report": True, + "name": "Ordered Items To Be Delivered", + "doctype": "Sales Order" + }, + { + "type": "report", + "is_query_report": True, + "name": "Sales Person-wise Transaction Summary", + "doctype": "Sales Order" + }, + { + "type": "report", + "is_query_report": True, + "name": "Item-wise Sales History", + "doctype": "Item" + }, + { + "type": "report", + "is_query_report": True, + "name": "Territory Target Variance (Item Group-Wise)", + "route": "query-report/Territory Target Variance Item Group-Wise", + "doctype": "Territory" + }, + { + "type": "report", + "is_query_report": True, + "name": "Sales Person Target Variance (Item Group-Wise)", + "route": "query-report/Sales Person Target Variance Item Group-Wise", + "doctype": "Sales Person", + }, + { + "type": "report", + "is_query_report": True, + "name": "Customers Not Buying Since Long Time", + "doctype": "Sales Order" + }, + { + "type": "report", + "is_query_report": True, + "name": "Quotation Trend", + "doctype": "Quotation" + }, + { + "type": "report", + "is_query_report": True, + "name": "Sales Order Trends", + "doctype": "Sales Order" + }, + { + "type": "report", + "is_query_report": True, + "name": "Available Stock for Packing Items", + "doctype": "Item", + }, + { + "type": "report", + "is_query_report": True, + "name": "Pending SO Items For Purchase Request", + "doctype": "Sales Order" + }, + ] + }, + ] diff --git a/erpnext/config/setup.py b/erpnext/config/setup.py index 6689dd7840..e538de5ab3 100644 --- a/erpnext/config/setup.py +++ b/erpnext/config/setup.py @@ -1,129 +1,127 @@ from frappe import _ from frappe.widgets.moduleview import add_setup_section -data = [ - { - "label": _("Settings"), - "icon": "icon-wrench", - "items": [ - { - "type": "doctype", - "name": "Global Defaults", - "label": _("Global Settings"), - "description": _("Set Default Values like Company, Currency, Current Fiscal Year, etc."), - "hide_count": True - } - ] - }, - { - "label": _("Printing and Branding"), - "icon": "icon-print", - "items": [ - { - "type": "doctype", - "name": "Letter Head", - "description": _("Letter Heads for print templates.") - }, - { - "type": "doctype", - "name": "Print Heading", - "description": _("Titles for print templates e.g. Proforma Invoice.") - }, - { - "type": "doctype", - "name": "Terms and Conditions", - "description": _("Standard contract terms for Sales or Purchase.") - }, - ] - }, - { - "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": "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) + data = [ + { + "label": _("Settings"), + "icon": "icon-wrench", + "items": [ + { + "type": "doctype", + "name": "Global Defaults", + "label": _("Global Settings"), + "description": _("Set Default Values like Company, Currency, Current Fiscal Year, etc."), + "hide_count": True + } + ] + }, + { + "label": _("Printing and Branding"), + "icon": "icon-print", + "items": [ + { + "type": "doctype", + "name": "Letter Head", + "description": _("Letter Heads for print templates.") + }, + { + "type": "doctype", + "name": "Print Heading", + "description": _("Titles for print templates e.g. Proforma Invoice.") + }, + { + "type": "doctype", + "name": "Terms and Conditions", + "description": _("Standard contract terms for Sales or Purchase.") + }, + ] + }, + { + "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": "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.") + }, + ] + }, + ] for module, label, icon in ( ("accounts", _("Accounts"), "icon-money"), @@ -133,6 +131,6 @@ def get_data(): ("hr", _("Human Resources"), "icon-group"), ("support", _("Support"), "icon-phone")): - add_setup_section(out, "erpnext", module, label, icon) + add_setup_section(data, "erpnext", module, label, icon) - return out + return data diff --git a/erpnext/config/stock.py b/erpnext/config/stock.py index afc4ea8164..0f53288b95 100644 --- a/erpnext/config/stock.py +++ b/erpnext/config/stock.py @@ -1,263 +1,264 @@ from frappe import _ -data = [ - { - "label": _("Documents"), - "icon": "icon-star", - "items": [ - { - "type": "doctype", - "name": "Material Request", - "description": _("Requests for items."), - }, - { - "type": "doctype", - "name": "Stock Entry", - "description": _("Record item movement."), - }, - { - "type": "doctype", - "name": "Delivery Note", - "description": _("Shipments to customers."), - }, - { - "type": "doctype", - "name": "Purchase Receipt", - "description": _("Goods received from Suppliers."), - }, - { - "type": "doctype", - "name": "Item", - "description": _("All Products or Services."), - }, - { - "type": "doctype", - "name": "Warehouse", - "description": _("Where items are stored."), - }, - { - "type": "doctype", - "name": "Serial No", - "description": _("Single unit of an Item."), - }, - { - "type": "doctype", - "name": "Batch", - "description": _("Batch (lot) of an Item."), - }, - ] - }, - { - "label": _("Tools"), - "icon": "icon-wrench", - "items": [ - { - "type": "doctype", - "name": "Stock Reconciliation", - "description": _("Upload stock balance via csv.") - }, - { - "type": "doctype", - "name": "Installation Note", - "description": _("Installation record for a Serial No.") - }, - { - "type": "doctype", - "name": "Packing Slip", - "description": _("Split Delivery Note into packages.") - }, - { - "type": "doctype", - "name": "Quality Inspection", - "description": _("Incoming quality inspection.") - }, - { - "type": "doctype", - "name": "Landed Cost Wizard", - "description": _("Distribute transport overhead across items."), - }, - { - "type": "doctype", - "name": "Stock UOM Replace Utility", - "description": _("Change UOM for an Item."), - }, - ] - }, - { - "label": _("Setup"), - "icon": "icon-cog", - "items": [ - { - "type": "doctype", - "name": "Stock Settings", - "description": _("Default settings for stock transactions.") - }, - { - "type": "page", - "name": "Sales Browser", - "icon": "icon-sitemap", - "label": _("Item Group Tree"), - "link": "Sales Browser/Item Group", - "description": _("Tree of Item Groups."), - "doctype": "Item Group", - }, - { - "type": "doctype", - "name": "UOM", - "label": _("Unit of Measure") + " (UOM)", - "description": _("e.g. Kg, Unit, Nos, m") - }, - { - "type": "doctype", - "name": "Warehouse", - "description": _("Warehouses.") - }, - { - "type": "doctype", - "name": "Brand", - "description": _("Brand master.") - }, - { - "type": "doctype", - "name": "Price List", - "description": _("Price List master.") - }, - { - "type": "doctype", - "name": "Item Price", - "description": _("Multiple Item prices."), - "route": "Report/Item Price" - }, - ] - }, - { - "label": _("Main Reports"), - "icon": "icon-table", - "items": [ - { - "type": "report", - "is_query_report": True, - "name": "Stock Ledger", - "doctype": "Item", - }, - { - "type": "page", - "name": "stock-balance", - "label": _("Stock Balance"), - "icon": "icon-table", - }, - { - "type": "report", - "is_query_report": True, - "name": "Stock Projected Qty", - "doctype": "Item", - }, - { - "type": "report", - "is_query_report": True, - "name": "Stock Ageing", - "doctype": "Item", - }, - { - "type": "report", - "is_query_report": True, - "name": "Item-wise Price List Rate", - "doctype": "Item Price", - }, - { - "type": "page", - "name": "stock-analytics", - "label": _("Stock Analytics"), - "icon": "icon-bar-chart" - }, - ] - }, - { - "label": _("Standard Reports"), - "icon": "icon-list", - "items": [ - { - "type": "report", - "is_query_report": True, - "name": "Ordered Items To Be Delivered", - "doctype": "Delivery Note" - }, - { - "type": "report", - "is_query_report": True, - "name": "Purchase Order Items To Be Received", - "doctype": "Purchase Receipt" - }, - { - "type": "report", - "name": "Item Shortage Report", - "route": "Report/Bin/Item Shortage Report", - "doctype": "Purchase Receipt" - }, - { - "type": "report", - "is_query_report": True, - "name": "Serial No Service Contract Expiry", - "doctype": "Serial No" - }, - { - "type": "report", - "name": "Serial No Status", - "doctype": "Serial No" - }, - { - "type": "report", - "name": "Serial No Warranty Expiry", - "doctype": "Serial No" - }, - { - "type": "report", - "is_query_report": True, - "name": "Purchase In Transit", - "doctype": "Purchase Order" - }, - { - "type": "report", - "is_query_report": True, - "name": "Requested Items To Be Transferred", - "doctype": "Material Request" - }, - { - "type": "report", - "is_query_report": True, - "name": "Batch-Wise Balance History", - "doctype": "Batch" - }, - { - "type": "report", - "is_query_report": True, - "name": "Warehouse-Wise Stock Balance", - "doctype": "Warehouse" - }, - { - "type": "report", - "is_query_report": True, - "name": "Item Prices", - "doctype": "Price List" - }, - { - "type": "report", - "is_query_report": True, - "name": "Itemwise Recommended Reorder Level", - "doctype": "Item" - }, - { - "type": "report", - "is_query_report": True, - "name": "Delivery Note Trends", - "doctype": "Delivery Note" - }, - { - "type": "report", - "is_query_report": True, - "name": "Purchase Receipt Trends", - "doctype": "Purchase Receipt" - }, - ] - }, -] \ No newline at end of file +def get_data(): + return [ + { + "label": _("Documents"), + "icon": "icon-star", + "items": [ + { + "type": "doctype", + "name": "Material Request", + "description": _("Requests for items."), + }, + { + "type": "doctype", + "name": "Stock Entry", + "description": _("Record item movement."), + }, + { + "type": "doctype", + "name": "Delivery Note", + "description": _("Shipments to customers."), + }, + { + "type": "doctype", + "name": "Purchase Receipt", + "description": _("Goods received from Suppliers."), + }, + { + "type": "doctype", + "name": "Item", + "description": _("All Products or Services."), + }, + { + "type": "doctype", + "name": "Warehouse", + "description": _("Where items are stored."), + }, + { + "type": "doctype", + "name": "Serial No", + "description": _("Single unit of an Item."), + }, + { + "type": "doctype", + "name": "Batch", + "description": _("Batch (lot) of an Item."), + }, + ] + }, + { + "label": _("Tools"), + "icon": "icon-wrench", + "items": [ + { + "type": "doctype", + "name": "Stock Reconciliation", + "description": _("Upload stock balance via csv.") + }, + { + "type": "doctype", + "name": "Installation Note", + "description": _("Installation record for a Serial No.") + }, + { + "type": "doctype", + "name": "Packing Slip", + "description": _("Split Delivery Note into packages.") + }, + { + "type": "doctype", + "name": "Quality Inspection", + "description": _("Incoming quality inspection.") + }, + { + "type": "doctype", + "name": "Landed Cost Wizard", + "description": _("Distribute transport overhead across items."), + }, + { + "type": "doctype", + "name": "Stock UOM Replace Utility", + "description": _("Change UOM for an Item."), + }, + ] + }, + { + "label": _("Setup"), + "icon": "icon-cog", + "items": [ + { + "type": "doctype", + "name": "Stock Settings", + "description": _("Default settings for stock transactions.") + }, + { + "type": "page", + "name": "Sales Browser", + "icon": "icon-sitemap", + "label": _("Item Group Tree"), + "link": "Sales Browser/Item Group", + "description": _("Tree of Item Groups."), + "doctype": "Item Group", + }, + { + "type": "doctype", + "name": "UOM", + "label": _("Unit of Measure") + " (UOM)", + "description": _("e.g. Kg, Unit, Nos, m") + }, + { + "type": "doctype", + "name": "Warehouse", + "description": _("Warehouses.") + }, + { + "type": "doctype", + "name": "Brand", + "description": _("Brand master.") + }, + { + "type": "doctype", + "name": "Price List", + "description": _("Price List master.") + }, + { + "type": "doctype", + "name": "Item Price", + "description": _("Multiple Item prices."), + "route": "Report/Item Price" + }, + ] + }, + { + "label": _("Main Reports"), + "icon": "icon-table", + "items": [ + { + "type": "report", + "is_query_report": True, + "name": "Stock Ledger", + "doctype": "Item", + }, + { + "type": "page", + "name": "stock-balance", + "label": _("Stock Balance"), + "icon": "icon-table", + }, + { + "type": "report", + "is_query_report": True, + "name": "Stock Projected Qty", + "doctype": "Item", + }, + { + "type": "report", + "is_query_report": True, + "name": "Stock Ageing", + "doctype": "Item", + }, + { + "type": "report", + "is_query_report": True, + "name": "Item-wise Price List Rate", + "doctype": "Item Price", + }, + { + "type": "page", + "name": "stock-analytics", + "label": _("Stock Analytics"), + "icon": "icon-bar-chart" + }, + ] + }, + { + "label": _("Standard Reports"), + "icon": "icon-list", + "items": [ + { + "type": "report", + "is_query_report": True, + "name": "Ordered Items To Be Delivered", + "doctype": "Delivery Note" + }, + { + "type": "report", + "is_query_report": True, + "name": "Purchase Order Items To Be Received", + "doctype": "Purchase Receipt" + }, + { + "type": "report", + "name": "Item Shortage Report", + "route": "Report/Bin/Item Shortage Report", + "doctype": "Purchase Receipt" + }, + { + "type": "report", + "is_query_report": True, + "name": "Serial No Service Contract Expiry", + "doctype": "Serial No" + }, + { + "type": "report", + "name": "Serial No Status", + "doctype": "Serial No" + }, + { + "type": "report", + "name": "Serial No Warranty Expiry", + "doctype": "Serial No" + }, + { + "type": "report", + "is_query_report": True, + "name": "Purchase In Transit", + "doctype": "Purchase Order" + }, + { + "type": "report", + "is_query_report": True, + "name": "Requested Items To Be Transferred", + "doctype": "Material Request" + }, + { + "type": "report", + "is_query_report": True, + "name": "Batch-Wise Balance History", + "doctype": "Batch" + }, + { + "type": "report", + "is_query_report": True, + "name": "Warehouse-Wise Stock Balance", + "doctype": "Warehouse" + }, + { + "type": "report", + "is_query_report": True, + "name": "Item Prices", + "doctype": "Price List" + }, + { + "type": "report", + "is_query_report": True, + "name": "Itemwise Recommended Reorder Level", + "doctype": "Item" + }, + { + "type": "report", + "is_query_report": True, + "name": "Delivery Note Trends", + "doctype": "Delivery Note" + }, + { + "type": "report", + "is_query_report": True, + "name": "Purchase Receipt Trends", + "doctype": "Purchase Receipt" + }, + ] + }, + ] diff --git a/erpnext/config/support.py b/erpnext/config/support.py index 09143201f8..97807a3510 100644 --- a/erpnext/config/support.py +++ b/erpnext/config/support.py @@ -1,74 +1,75 @@ from frappe import _ -data = [ - { - "label": _("Documents"), - "icon": "icon-star", - "items": [ - { - "type": "doctype", - "name": "Support Ticket", - "description": _("Support queries from customers."), - }, - { - "type": "doctype", - "name": "Customer Issue", - "description": _("Customer Issue against Serial No."), - }, - { - "type": "doctype", - "name": "Maintenance Schedule", - "description": _("Plan for maintenance visits."), - }, - { - "type": "doctype", - "name": "Maintenance Visit", - "description": _("Visit report for maintenance call."), - }, - { - "type": "doctype", - "name": "Newsletter", - "description": _("Newsletters to contacts, leads."), - }, - { - "type": "doctype", - "name": "Communication", - "description": _("Communication log."), - }, - { - "type": "doctype", - "name": "Serial No", - "description": _("Single unit of an Item."), - }, - ] - }, - { - "label": _("Setup"), - "icon": "icon-cog", - "items": [ - { - "type": "doctype", - "name": "Support Email Settings", - "description": _("Setup incoming server for support email id. (e.g. support@example.com)") - }, - ] - }, - { - "label": _("Standard Reports"), - "icon": "icon-list", - "items": [ - { - "type": "page", - "name": "support-analytics", - "label": _("Support Analytics"), - "icon": "icon-bar-chart" - }, - { - "type": "report", - "name": "Maintenance Schedules", - "is_query_report": True, - "doctype": "Maintenance Schedule" - }, - ] - }, -] \ No newline at end of file +def get_data(): + return [ + { + "label": _("Documents"), + "icon": "icon-star", + "items": [ + { + "type": "doctype", + "name": "Support Ticket", + "description": _("Support queries from customers."), + }, + { + "type": "doctype", + "name": "Customer Issue", + "description": _("Customer Issue against Serial No."), + }, + { + "type": "doctype", + "name": "Maintenance Schedule", + "description": _("Plan for maintenance visits."), + }, + { + "type": "doctype", + "name": "Maintenance Visit", + "description": _("Visit report for maintenance call."), + }, + { + "type": "doctype", + "name": "Newsletter", + "description": _("Newsletters to contacts, leads."), + }, + { + "type": "doctype", + "name": "Communication", + "description": _("Communication log."), + }, + { + "type": "doctype", + "name": "Serial No", + "description": _("Single unit of an Item."), + }, + ] + }, + { + "label": _("Setup"), + "icon": "icon-cog", + "items": [ + { + "type": "doctype", + "name": "Support Email Settings", + "description": _("Setup incoming server for support email id. (e.g. support@example.com)") + }, + ] + }, + { + "label": _("Standard Reports"), + "icon": "icon-list", + "items": [ + { + "type": "page", + "name": "support-analytics", + "label": _("Support Analytics"), + "icon": "icon-bar-chart" + }, + { + "type": "report", + "name": "Maintenance Schedules", + "is_query_report": True, + "doctype": "Maintenance Schedule" + }, + ] + }, + ]