Merge pull request #16480 from pratu16x7/explore-2.0
feat(explore_page): rearrange links
diff --git a/erpnext/accounts/doctype/pos_settings/pos_settings.py b/erpnext/accounts/doctype/pos_settings/pos_settings.py
index bdfd969..913f498 100644
--- a/erpnext/accounts/doctype/pos_settings/pos_settings.py
+++ b/erpnext/accounts/doctype/pos_settings/pos_settings.py
@@ -8,9 +8,4 @@
class POSSettings(Document):
def validate(self):
- self.set_link_for_pos()
-
- def set_link_for_pos(self):
- link = 'pos' if self.use_pos_in_offline_mode else 'point-of-sale'
- frappe.db.sql(""" update `tabDesktop Icon` set link = '{0}'
- where module_name like '%pos%'""".format(link))
\ No newline at end of file
+ pass
\ No newline at end of file
diff --git a/erpnext/config/accounts.py b/erpnext/config/accounting.py
similarity index 83%
rename from erpnext/config/accounts.py
rename to erpnext/config/accounting.py
index 14b0646..a8b9447 100644
--- a/erpnext/config/accounts.py
+++ b/erpnext/config/accounting.py
@@ -6,248 +6,45 @@
def get_data():
config = [
{
- "label": _("Billing"),
+ "label": _("Masters and Accounts"),
"items": [
{
"type": "doctype",
- "name": "Sales Invoice",
- "description": _("Bills raised to Customers.")
+ "name": "Item",
+ "onboard": 1,
},
{
"type": "doctype",
- "name": "Purchase Invoice",
- "description": _("Bills raised by Suppliers.")
+ "name": "Customer",
+ "description": _("Customer database."),
+ "onboard": 1,
},
{
"type": "doctype",
- "name": "Payment Request",
- "description": _("Payment Request")
+ "name": "Supplier",
+ "description": _("Supplier database."),
+ "onboard": 1,
},
{
"type": "doctype",
- "name": "Payment Entry",
- "description": _("Bank/Cash transactions against party or for internal transfer")
- }
- ]
-
- },
- {
- "label": _("Company and Accounts"),
- "items": [
- {
- "type": "doctype",
"name": "Company",
- "description": _("Company (not Customer or Supplier) master.")
- },
- {
- "type": "doctype",
- "name": "Journal Entry",
- "description": _("Accounting journal entries.")
+ "description": _("Company (not Customer or Supplier) master."),
+ "onboard": 1,
},
{
"type": "doctype",
"name": "Account",
"icon": "fa fa-sitemap",
"label": _("Chart of Accounts"),
- "route": "Tree/Account",
+ "route": "#Tree/Account",
"description": _("Tree of financial accounts."),
- },
- {
- "type": "report",
- "name": "General Ledger",
- "doctype": "GL Entry",
- "is_query_report": True,
- },
- ]
- },
- {
- "label": _("Masters"),
- "items": [
- {
- "type": "doctype",
- "name": "Customer",
- "description": _("Customer database.")
+ "onboard": 1,
},
{
"type": "doctype",
- "name": "Supplier",
- "description": _("Supplier database.")
- },
- {
- "type": "doctype",
- "name": "Item",
- }
- ]
- },
- {
- "label": _("Accounting Statements"),
- "items": [
- {
- "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": "Trial Balance",
- "doctype": "GL Entry",
- "is_query_report": True,
- },
- {
- "type": "report",
- "name": "Balance Sheet",
- "doctype": "GL Entry",
- "is_query_report": True
- },
- {
- "type": "report",
- "name": "Cash Flow",
- "doctype": "GL Entry",
- "is_query_report": True
- },
- {
- "type": "report",
- "name": "Profit and Loss Statement",
- "doctype": "GL Entry",
- "is_query_report": True
- },
- {
- "type": "report",
- "name": "Consolidated Financial Statement",
- "doctype": "GL Entry",
- "is_query_report": True
- },
- ]
- },
- {
- "label": _("Banking and Payments"),
- "items": [
- {
- "type": "doctype",
- "label": _("Update Bank Transaction Dates"),
- "name": "Bank Reconciliation",
- "description": _("Update bank payment dates with journals.")
- },
- {
- "type": "doctype",
- "label": _("Match Payments with Invoices"),
- "name": "Payment Reconciliation",
- "description": _("Match non-linked Invoices and Payments.")
- },
- {
- "type": "report",
- "name": "Bank Reconciliation Statement",
- "is_query_report": True,
- "doctype": "Journal Entry"
- },
- {
- "type": "report",
- "name": "Bank Clearance Summary",
- "is_query_report": True,
- "doctype": "Journal Entry"
- },
- {
- "type": "doctype",
- "name": "Bank Guarantee",
- "doctype": "Bank Guarantee"
- },
- ]
- },
- {
- "label": _("Taxes"),
- "items": [
- {
- "type": "doctype",
- "name": "Tax Category",
- "description": _("Tax Category for overriding tax rates.")
- },
- {
- "type": "doctype",
- "name": "Sales Taxes and Charges Template",
- "description": _("Tax template for selling transactions.")
- },
- {
- "type": "doctype",
- "name": "Purchase Taxes and Charges Template",
- "description": _("Tax template for buying transactions.")
- },
- {
- "type": "doctype",
- "name": "Item Tax Template",
- "description": _("Tax template for item tax rates.")
- },
- {
- "type": "doctype",
- "name": "Tax Rule",
- "description": _("Tax Rule for transactions.")
- },
- {
- "type": "doctype",
- "name": "Tax Withholding Category",
- "description": _("Tax Withholding rates to be applied on transactions.")
- },
- {
- "type": "report",
- "name": "Sales Register",
- "doctype": "Sales Invoice",
- "is_query_report": True
- },
- {
- "type": "report",
- "name": "Purchase Register",
- "doctype": "Purchase Invoice",
- "is_query_report": True
- },
- ]
- },
- {
- "label": _("Budget and Cost Center"),
- "items": [
- {
- "type": "doctype",
- "name": "Cost Center",
- "icon": "fa fa-sitemap",
- "label": _("Chart of Cost Centers"),
- "route": "Tree/Cost Center",
- "description": _("Tree of financial Cost Centers."),
- },
- {
- "type": "doctype",
- "name": "Budget",
- "description": _("Define budget for a financial year.")
- },
- {
- "type": "report",
- "name": "Budget Variance Report",
- "is_query_report": True,
- "doctype": "Cost Center"
- },
- {
- "type": "doctype",
- "name": "Monthly Distribution",
- "description": _("Seasonality for setting budgets, targets etc.")
- },
- ]
- },
- {
- "label": _("Tools"),
- "items": [
- {
- "type": "doctype",
- "name": "Period Closing Voucher",
- "description": _("Close Balance Sheet and book Profit or Loss.")
- },
- {
- "type": "doctype",
- "name": "Cheque Print Template",
- "description": _("Setup cheque dimensions for printing")
+ "name": "Journal Entry",
+ "description": _("Accounting journal entries."),
+ "onboard": 1,
},
{
"type": "doctype",
@@ -257,6 +54,60 @@
]
},
{
+ "label": _("Billing"),
+ "items": [
+ {
+ "type": "doctype",
+ "name": "Sales Invoice",
+ "description": _("Bills raised to Customers."),
+ "onboard": 1,
+ },
+ {
+ "type": "doctype",
+ "name": "Purchase Invoice",
+ "description": _("Bills raised by Suppliers."),
+ "onboard": 1
+ },
+ {
+ "type": "doctype",
+ "name": "Payment Request",
+ "description": _("Payment Request"),
+ },
+ {
+ "type": "doctype",
+ "name": "Payment Entry",
+ "description": _("Bank/Cash transactions against party or for internal transfer")
+ },
+
+ # Reports
+ {
+ "type": "report",
+ "name": "Ordered Items To Be Billed",
+ "is_query_report": True,
+ "reference_doctype": "Sales Invoice"
+ },
+ {
+ "type": "report",
+ "name": "Delivered Items To Be Billed",
+ "is_query_report": True,
+ "reference_doctype": "Sales Invoice"
+ },
+ {
+ "type": "report",
+ "name": "Purchase Order Items To Be Billed",
+ "is_query_report": True,
+ "reference_doctype": "Purchase Invoice"
+ },
+ {
+ "type": "report",
+ "name": "Received Items To Be Billed",
+ "is_query_report": True,
+ "reference_doctype": "Purchase Invoice"
+ },
+ ]
+
+ },
+ {
"label": _("Setup"),
"icon": "fa fa-cog",
"items": [
@@ -307,41 +158,223 @@
"name": "C-Form",
"description": _("C-Form records"),
"country": "India"
+ },
+ {
+ "type": "doctype",
+ "name": "Cheque Print Template",
+ "description": _("Setup cheque dimensions for printing")
+ },
+ ]
+ },
+ {
+ "label": _("Financial Statements"),
+ "items": [
+ {
+ "type": "report",
+ "name": "General Ledger",
+ "doctype": "GL Entry",
+ "is_query_report": True,
+ "onboard": 1,
+ },
+ {
+ "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": "Trial Balance",
+ "doctype": "GL Entry",
+ "is_query_report": True,
+ },
+ {
+ "type": "report",
+ "name": "Balance Sheet",
+ "doctype": "GL Entry",
+ "is_query_report": True
+ },
+ {
+ "type": "report",
+ "name": "Cash Flow",
+ "doctype": "GL Entry",
+ "is_query_report": True
+ },
+ {
+ "type": "report",
+ "name": "Profit and Loss Statement",
+ "doctype": "GL Entry",
+ "is_query_report": True
+ },
+ {
+ "type": "report",
+ "name": "Consolidated Financial Statement",
+ "doctype": "GL Entry",
+ "is_query_report": True
+ },
+ ]
+ },
+ {
+ "label": _("Banking and Payments"),
+ "items": [
+ {
+ "type": "doctype",
+ "label": _("Bank"),
+ "name": "Bank",
+ },
+ {
+ "type": "doctype",
+ "label": _("Bank Account"),
+ "name": "Bank Account",
+ },
+ {
+ "type": "doctype",
+ "label": _("Bank Statement Transaction Entry List"),
+ "name": "Bank Statement Transaction Entry",
+ "route": "#List/Bank Statement Transaction Entry",
+ },
+ {
+ "type": "doctype",
+ "label": _("Bank Statement Transaction Entry Report"),
+ "name": "Bank Statement Transaction Entry",
+ "route": "#Report/Bank Statement Transaction Entry",
+ },
+ {
+ "type": "doctype",
+ "label": _("Bank Statement Settings"),
+ "name": "Bank Statement Settings",
+ },
+
+ {
+ "type": "doctype",
+ "label": _("Update Bank Transaction Dates"),
+ "name": "Bank Reconciliation",
+ "description": _("Update bank payment dates with journals.")
+ },
+ {
+ "type": "doctype",
+ "label": _("Match Payments with Invoices"),
+ "name": "Payment Reconciliation",
+ "description": _("Match non-linked Invoices and Payments.")
+ },
+ {
+ "type": "report",
+ "name": "Bank Reconciliation Statement",
+ "is_query_report": True,
+ "doctype": "Journal Entry"
+ },
+ {
+ "type": "report",
+ "name": "Bank Clearance Summary",
+ "is_query_report": True,
+ "doctype": "Journal Entry"
+ },
+ {
+ "type": "doctype",
+ "name": "Bank Guarantee",
+ "doctype": "Bank Guarantee"
+ },
+ ]
+ },
+ {
+ "label": _("Cost Center and Budgeting"),
+ "items": [
+ {
+ "type": "doctype",
+ "name": "Cost Center",
+ "icon": "fa fa-sitemap",
+ "label": _("Chart of Cost Centers"),
+ "route": "#Tree/Cost Center",
+ "description": _("Tree of financial Cost Centers."),
+ },
+ {
+ "type": "doctype",
+ "name": "Budget",
+ "description": _("Define budget for a financial year.")
+ },
+ {
+ "type": "report",
+ "name": "Budget Variance Report",
+ "is_query_report": True,
+ "doctype": "Cost Center"
+ },
+ {
+ "type": "doctype",
+ "name": "Monthly Distribution",
+ "description": _("Seasonality for setting budgets, targets etc.")
+ },
+ {
+ "type": "doctype",
+ "name": "Period Closing Voucher",
+ "description": _("Close Balance Sheet and book Profit or Loss.")
+ },
+ ]
+ },
+ {
+ "label": _("Taxes"),
+ "items": [
+ {
+ "type": "doctype",
+ "name": "Tax Category",
+ "description": _("Tax Category for overriding tax rates.")
+ },
+ {
+ "type": "doctype",
+ "name": "Sales Taxes and Charges Template",
+ "description": _("Tax template for selling transactions.")
+ },
+ {
+ "type": "doctype",
+ "name": "Purchase Taxes and Charges Template",
+ "description": _("Tax template for buying transactions.")
+ },
+ {
+ "type": "doctype",
+ "name": "Item Tax Template",
+ "description": _("Tax template for item tax rates.")
+ },
+ {
+ "type": "doctype",
+ "name": "Tax Rule",
+ "description": _("Tax Rule for transactions.")
+ },
+ {
+ "type": "doctype",
+ "name": "Tax Withholding Category",
+ "description": _("Tax Withholding rates to be applied on transactions.")
+ },
+ ]
+ },
+ {
+ "label": _("Subscription Management"),
+ "icon": "fa fa-microchip ",
+ "items": [
+ {
+ "type": "doctype",
+ "name": "Subscriber",
+ },
+ {
+ "type": "doctype",
+ "name": "Subscription Plan",
+ },
+ {
+ "type": "doctype",
+ "name": "Subscription"
+ },
+ {
+ "type": "doctype",
+ "name": "Subscription Settings"
}
]
},
{
- "label": _("To Bill"),
- "items": [
- {
- "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"
- },
- ]
-
- },
- {
- "label": _("Analytics"),
+ "label": _("Key Reports"),
"items": [
{
"type": "report",
@@ -351,6 +384,18 @@
},
{
"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": "report",
"name": "Purchase Invoice Trends",
"is_query_report": True,
"doctype": "Purchase Invoice"
@@ -497,6 +542,7 @@
]
}
]
+
gst = {
"label": _("Goods and Services Tax (GST India)"),
"items": [
@@ -540,74 +586,11 @@
},
]
}
- retail = {
- "label": _("Retail Operations"),
- "items": [
- {
- "type": "page",
- "name": "pos",
- "label": _("POS"),
- "description": _("Point of Sale")
- },
- {
- "type": "doctype",
- "name": "Cashier Closing",
- "description": _("Cashier Closing")
- },
- {
- "type": "doctype",
- "name": "POS Settings",
- "description": _("Setup mode of POS (Online / Offline)")
- },
- {
- "type": "doctype",
- "name": "POS Profile",
- "label": _("Point-of-Sale Profile"),
- "description": _("Setup default values for POS Invoices")
- },
- {
- "type": "doctype",
- "name": "Loyalty Program",
- "label": _("Loyalty Program"),
- "description": _("To make Customer based incentive schemes.")
- },
- {
- "type": "doctype",
- "name": "Loyalty Point Entry",
- "label": _("Loyalty Point Entry"),
- "description": _("To view logs of Loyalty Points assigned to a Customer.")
- }
- ]
- }
- subscriptions = {
- "label": _("Subscription Management"),
- "icon": "fa fa-microchip ",
- "items": [
- {
- "type": "doctype",
- "name": "Subscription Plan",
- },
- {
- "type": "doctype",
- "name": "Subscription"
- },
- {
- "type": "doctype",
- "name": "Subscription Settings"
- }
- ]
- }
+
+
countries = frappe.get_all("Company", fields="country")
countries = [country["country"] for country in countries]
if "India" in countries:
config.insert(7, gst)
domains = frappe.get_active_domains()
- if "Retail" in domains:
- config.insert(2, retail)
- else:
- config.insert(7, retail)
- if "Services" in domains:
- config.insert(2, subscriptions)
- else:
- config.insert(7, subscriptions)
return config
diff --git a/erpnext/config/assets.py b/erpnext/config/assets.py
index 08e28a0..3c9452f 100644
--- a/erpnext/config/assets.py
+++ b/erpnext/config/assets.py
@@ -9,19 +9,27 @@
{
"type": "doctype",
"name": "Asset",
+ "onboard": 1,
},
{
"type": "doctype",
"name": "Location",
+ "onboard": 1,
},
{
"type": "doctype",
"name": "Asset Category",
+ "onboard": 1,
},
{
"type": "doctype",
"name": "Asset Settings",
- }
+ },
+ {
+ "type": "doctype",
+ "name": "Asset Movement",
+ "description": _("Transfer an asset from one warehouse to another")
+ },
]
},
{
@@ -30,36 +38,34 @@
{
"type": "doctype",
"name": "Asset Maintenance Team",
+ "onboard": 1,
},
{
"type": "doctype",
"name": "Asset Maintenance",
+ "onboard": 1,
+ "dependencies": ["Asset Maintenance Team"],
},
{
"type": "doctype",
"name": "Asset Maintenance Tasks",
+ "onboard": 1,
+ "dependencies": ["Asset Maintenance"],
},
{
"type": "doctype",
"name": "Asset Maintenance Log",
+ "dependencies": ["Asset Maintenance"],
},
{
"type": "doctype",
"name": "Asset Value Adjustment",
+ "dependencies": ["Asset"],
},
{
"type": "doctype",
"name": "Asset Repair",
- },
- ]
- },
- {
- "label": _("Tools"),
- "items": [
- {
- "type": "doctype",
- "name": "Asset Movement",
- "description": _("Transfer an asset from one warehouse to another")
+ "dependencies": ["Asset"],
},
]
},
@@ -72,17 +78,20 @@
"name": "Asset Depreciation Ledger",
"doctype": "Asset",
"is_query_report": True,
+ "dependencies": ["Asset"],
},
{
"type": "report",
"name": "Asset Depreciations and Balances",
"doctype": "Asset",
"is_query_report": True,
+ "dependencies": ["Asset"],
},
{
"type": "report",
"name": "Asset Maintenance",
- "doctype": "Asset Maintenance"
+ "doctype": "Asset Maintenance",
+ "dependencies": ["Asset Maintenance"]
},
]
}
diff --git a/erpnext/config/buying.py b/erpnext/config/buying.py
index e99b1d8..c52b9a2 100644
--- a/erpnext/config/buying.py
+++ b/erpnext/config/buying.py
@@ -9,23 +9,94 @@
"items": [
{
"type": "doctype",
+ "name": "Purchase Order",
+ "onboard": 1,
+ "dependencies": ["Item", "Supplier"],
+ "description": _("Purchase Orders given to Suppliers."),
+ },
+ {
+ "type": "doctype",
"name": "Material Request",
+ "onboard": 1,
+ "dependencies": ["Item"],
"description": _("Request for purchase."),
},
{
"type": "doctype",
"name": "Request for Quotation",
+ "onboard": 1,
+ "dependencies": ["Item", "Supplier"],
"description": _("Request for quotation."),
},
{
"type": "doctype",
"name": "Supplier Quotation",
+ "dependencies": ["Item", "Supplier"],
"description": _("Quotations received from Suppliers."),
},
+ ]
+ },
+ {
+ "label": _("Items and Pricing"),
+ "items": [
+ {
+ "type": "doctype",
+ "name": "Item",
+ "onboard": 1,
+ "description": _("All Products or Services."),
+ },
{
"type": "doctype",
- "name": "Purchase Order",
- "description": _("Purchase Orders given to Suppliers."),
+ "name": "Item Price",
+ "description": _("Multiple Item prices."),
+ "onboard": 1,
+ "route": "Report/Item Price"
+ },
+ {
+ "type": "doctype",
+ "name": "Price List",
+ "description": _("Price List master.")
+ },
+ {
+ "type": "doctype",
+ "name": "Product Bundle",
+ "description": _("Bundle items at time of sale."),
+ },
+ {
+ "type": "doctype",
+ "name": "Item Group",
+ "icon": "fa fa-sitemap",
+ "label": _("Item Group"),
+ "link": "Tree/Item Group",
+ "description": _("Tree of Item Groups."),
+ },
+ {
+ "type": "doctype",
+ "name": "Pricing Rule",
+ "description": _("Rules for applying pricing and discount.")
+ },
+ ]
+ },
+ {
+ "label": _("Setup"),
+ "icon": "fa fa-cog",
+ "items": [
+ {
+ "type": "doctype",
+ "name": "Buying Settings",
+ "onboard": 1,
+ "description": _("Default settings for buying transactions.")
+ },
+ {
+ "type": "doctype",
+ "name": "Purchase Taxes and Charges Template",
+ "description": _("Tax template for buying transactions.")
+ },
+ {
+ "type": "doctype",
+ "name":"Terms and Conditions",
+ "label": _("Terms and Conditions Template"),
+ "description": _("Template of terms or contract.")
},
]
},
@@ -35,6 +106,7 @@
{
"type": "doctype",
"name": "Supplier",
+ "onboard": 1,
"description": _("Supplier database."),
},
{
@@ -56,88 +128,36 @@
]
},
{
- "label": _("Setup"),
- "icon": "fa fa-cog",
- "items": [
- {
- "type": "doctype",
- "name": "Buying Settings",
- "description": _("Default settings for buying transactions.")
- },
- {
- "type": "doctype",
- "name":"Terms and Conditions",
- "label": _("Terms and Conditions Template"),
- "description": _("Template of terms or contract.")
- },
- {
- "type": "doctype",
- "name": "Purchase Taxes and Charges Template",
- "description": _("Tax template for buying transactions.")
- },
- ]
- },
- {
- "label": _("Items and Pricing"),
- "items": [
- {
- "type": "doctype",
- "name": "Item",
- "description": _("All Products or Services."),
- },
- {
- "type": "doctype",
- "name": "Product Bundle",
- "description": _("Bundle items at time of sale."),
- },
- {
- "type": "doctype",
- "name": "Price List",
- "description": _("Price List master.")
- },
- {
- "type": "doctype",
- "name": "Item Group",
- "icon": "fa fa-sitemap",
- "label": _("Item Group"),
- "link": "Tree/Item Group",
- "description": _("Tree of Item Groups."),
- },
- {
- "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": _("Analytics"),
+ "label": _("Key Reports"),
"icon": "fa fa-table",
"items": [
{
"type": "report",
"is_query_report": True,
"name": "Purchase Analytics",
- "doctype": "Purchase Order"
+ "reference_doctype": "Purchase Order",
+ "onboard": 1
},
{
"type": "report",
"is_query_report": True,
"name": "Supplier-Wise Sales Analytics",
- "doctype": "Stock Ledger Entry"
+ "reference_doctype": "Stock Ledger Entry",
+ "onboard": 1
},
{
"type": "report",
"is_query_report": True,
"name": "Purchase Order Trends",
- "doctype": "Purchase Order"
+ "reference_doctype": "Purchase Order",
+ "onboard": 1,
+ },
+ {
+ "type": "report",
+ "is_query_report": True,
+ "name": "Requested Items To Be Ordered",
+ "reference_doctype": "Material Request",
+ "onboard": 1,
},
]
},
@@ -175,32 +195,28 @@
"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"
+ "reference_doctype": "Item",
+ "onboard": 1,
},
{
"type": "report",
"is_query_report": True,
"name": "Item-wise Purchase History",
- "doctype": "Item"
+ "reference_doctype": "Item",
+ "onboard": 1,
+ },
+ {
+ "type": "report",
+ "is_query_report": True,
+ "name": "Material Requests for which Supplier Quotations are not created",
+ "reference_doctype": "Material Request"
},
{
"type": "report",
"is_query_report": True,
"name": "Address And Contacts",
"label": "Supplier Addresses And Contacts",
- "doctype": "Address",
+ "reference_doctype": "Address",
"route_options": {
"party_type": "Supplier"
}
diff --git a/erpnext/config/crm.py b/erpnext/config/crm.py
index 5ac46bd..3119824 100644
--- a/erpnext/config/crm.py
+++ b/erpnext/config/crm.py
@@ -11,21 +11,35 @@
"type": "doctype",
"name": "Lead",
"description": _("Database of potential customers."),
+ "onboard": 1,
},
{
"type": "doctype",
"name": "Opportunity",
"description": _("Potential opportunities for selling."),
+ "onboard": 1,
},
{
"type": "doctype",
"name": "Customer",
"description": _("Customer database."),
+ "onboard": 1,
},
{
"type": "doctype",
"name": "Contact",
"description": _("All Contacts."),
+ "onboard": 1,
+ },
+ {
+ "type": "doctype",
+ "name": "Communication",
+ "description": _("Record of all communications of type email, phone, chat, visit, etc."),
+ },
+ {
+ "type": "doctype",
+ "name": "Lead Source",
+ "description": _("Track Leads by Lead Source.")
},
]
},
@@ -37,79 +51,72 @@
"type": "report",
"is_query_report": True,
"name": "Lead Details",
- "doctype": "Lead"
+ "doctype": "Lead",
+ "onboard": 1,
},
{
"type": "page",
"name": "sales-funnel",
"label": _("Sales Funnel"),
"icon": "fa fa-bar-chart",
+ "onboard": 1,
},
{
"type": "report",
"name": "Prospects Engaged But Not Converted",
"doctype": "Lead",
- "is_query_report": True
+ "is_query_report": True,
+ "onboard": 1,
},
{
"type": "report",
"name": "Minutes to First Response for Opportunity",
"doctype": "Opportunity",
- "is_query_report": True
+ "is_query_report": True,
+ "dependencies": ["Opportunity"]
},
{
"type": "report",
"is_query_report": True,
"name": "Customer Addresses And Contacts",
- "doctype": "Contact"
+ "doctype": "Contact",
+ "dependencies": ["Customer"]
},
{
"type": "report",
"is_query_report": True,
"name": "Inactive Customers",
- "doctype": "Sales Order"
+ "doctype": "Sales Order",
+ "dependencies": ["Sales Order"]
},
{
"type": "report",
"is_query_report": True,
"name": "Campaign Efficiency",
- "doctype": "Lead"
+ "doctype": "Lead",
+ "dependencies": ["Lead"]
},
{
"type": "report",
"is_query_report": True,
"name": "Lead Owner Efficiency",
- "doctype": "Lead"
+ "doctype": "Lead",
+ "dependencies": ["Lead"]
}
]
},
{
- "label": _("Communication"),
- "icon": "fa fa-star",
- "items": [
- {
- "type": "doctype",
- "name": "Communication",
- "description": _("Record of all communications of type email, phone, chat, visit, etc."),
- },
- ]
- },
- {
"label": _("Setup"),
"icon": "fa fa-cog",
"items": [
{
"type": "doctype",
- "name": "Campaign",
- "description": _("Sales campaigns."),
- },
- {
- "type": "doctype",
"label": _("Customer Group"),
"name": "Customer Group",
"icon": "fa fa-sitemap",
"link": "Tree/Customer Group",
"description": _("Manage Customer Group Tree."),
+ "onboard": 1,
},
{
"type": "doctype",
@@ -118,6 +125,7 @@
"icon": "fa fa-sitemap",
"link": "Tree/Territory",
"description": _("Manage Territory Tree."),
+ "onboard": 1,
},
{
"type": "doctype",
@@ -126,18 +134,13 @@
"icon": "fa fa-sitemap",
"link": "Tree/Sales Person",
"description": _("Manage Sales Person Tree."),
+ "onboard": 1,
},
{
"type": "doctype",
- "name": "Lead Source",
- "description": _("Track Leads by Lead Source.")
+ "name": "Campaign",
+ "description": _("Sales campaigns."),
},
- ]
- },
- {
- "label": _("SMS"),
- "icon": "fa fa-wrench",
- "items": [
{
"type": "doctype",
"name": "SMS Center",
@@ -156,18 +159,92 @@
]
},
{
- "label": _("Help"),
+ "label": _("Support"),
"items": [
{
- "type": "help",
- "label": _("Lead to Quotation"),
- "youtube_id": "TxYX4r4JAKA"
+ "type": "doctype",
+ "name": "Issue",
+ "description": _("Support queries from customers."),
+ "onboard": 1,
},
{
- "type": "help",
- "label": _("Newsletters"),
- "youtube_id": "muLKsCrrDRo"
+ "type": "doctype",
+ "name": "Communication",
+ "description": _("Communication log."),
+ },
+ {
+ "type": "doctype",
+ "name": "Warranty Claim",
+ "description": _("Warranty Claim against Serial No."),
+ },
+ {
+ "type": "doctype",
+ "name": "Serial No",
+ "description": _("Single unit of an Item."),
+ },
+ {
+ "type": "page",
+ "name": "support-analytics",
+ "label": _("Support Analytics"),
+ "icon": "fa fa-bar-chart"
+ },
+ {
+ "type": "report",
+ "name": "Minutes to First Response for Issues",
+ "doctype": "Issue",
+ "is_query_report": True,
+ "dependencies": ["Issue"],
+ },
+ {
+ "type": "report",
+ "name": "Support Hours",
+ "doctype": "Issue",
+ "is_query_report": True,
+ "dependencies": ["Issue"]
},
]
},
+ {
+ "label": _("Maintenance"),
+ "icon": "fa fa-star",
+ "items": [
+ {
+ "type": "doctype",
+ "name": "Maintenance Schedule",
+ "description": _("Plan for maintenance visits."),
+ "onboard": 1,
+ },
+ {
+ "type": "doctype",
+ "name": "Maintenance Visit",
+ "description": _("Visit report for maintenance call."),
+ },
+ {
+ "type": "report",
+ "name": "Maintenance Schedules",
+ "is_query_report": True,
+ "doctype": "Maintenance Schedule"
+ },
+ {
+ "type": "doctype",
+ "name": "Warranty Claim",
+ "description": _("Warranty Claim against Serial No."),
+ },
+ ]
+ },
+ # {
+ # "label": _("Help"),
+ # "items": [
+ # {
+ # "type": "help",
+ # "label": _("Lead to Quotation"),
+ # "youtube_id": "TxYX4r4JAKA"
+ # },
+ # {
+ # "type": "help",
+ # "label": _("Newsletters"),
+ # "youtube_id": "muLKsCrrDRo"
+ # },
+ # ]
+ # },
]
diff --git a/erpnext/config/desktop.py b/erpnext/config/desktop.py
index 762f48a..8484c64 100644
--- a/erpnext/config/desktop.py
+++ b/erpnext/config/desktop.py
@@ -5,572 +5,205 @@
def get_data():
return [
+ # Modules
{
- "module_name": "Item",
- "_doctype": "Item",
- "color": "#f39c12",
- "icon": "octicon octicon-package",
- "type": "link",
- "link": "List/Item"
- },
- {
- "module_name": "Customer",
- "_doctype": "Customer",
- "color": "#1abc9c",
- "icon": "octicon octicon-tag",
- "type": "link",
- "link": "List/Customer"
- },
- {
- "module_name": "Supplier",
- "_doctype": "Supplier",
- "color": "#c0392b",
- "icon": "octicon octicon-briefcase",
- "type": "link",
- "link": "List/Supplier"
- },
- {
- "_doctype": "Employee",
- "module_name": "Employee",
- "color": "#2ecc71",
- "icon": "octicon octicon-organization",
- "type": "link",
- "link": "List/Employee"
- },
- {
- "module_name": "Projects",
- "color": "#8e44ad",
- "icon": "octicon octicon-rocket",
- "type": "module",
- },
- {
- "module_name": "Issue",
- "color": "#2c3e50",
- "icon": "octicon octicon-issue-opened",
- "_doctype": "Issue",
- "type": "link",
- "link": "List/Issue"
- },
- {
- "module_name": "Lead",
- "icon": "octicon octicon-broadcast",
- "_doctype": "Lead",
- "type": "link",
- "link": "List/Lead"
- },
- {
- "module_name": "Profit and Loss Statement",
- "_doctype": "Account",
- "color": "#3498db",
- "icon": "octicon octicon-repo",
- "type": "link",
- "link": "query-report/Profit and Loss Statement"
- },
-
- # old
- {
+ "module_name": "Accounting",
+ "category": "Modules",
"label": _("Accounting"),
- "module_name": "Accounts",
"color": "#3498db",
"icon": "octicon octicon-repo",
"type": "module",
- "hidden": 1
- },
- {
- "module_name": "Stock",
- "color": "#f39c12",
- "icon": "octicon octicon-package",
- "type": "module",
- "hidden": 1
- },
- {
- "module_name": "CRM",
- "color": "#EF4DB6",
- "icon": "octicon octicon-broadcast",
- "type": "module",
- "hidden": 1
+ "hidden": 1,
+ "description": "Accounts, Billing, Payments, Cost Center and Budgeting."
},
{
"module_name": "Selling",
+ "category": "Modules",
+ "label": _("Selling"),
"color": "#1abc9c",
"icon": "octicon octicon-tag",
"type": "module",
- "hidden": 1
+ "hidden": 1,
+ "description": "All things Sales, Customer and Products."
},
{
"module_name": "Buying",
+ "category": "Modules",
+ "label": _("Buying"),
"color": "#c0392b",
"icon": "octicon octicon-briefcase",
"type": "module",
- "hidden": 1
+ "hidden": 1,
+ "description": "Purchasing, Suppliers and Products."
+ },
+ {
+ "module_name": "Stock",
+ "category": "Modules",
+ "label": _("Stock"),
+ "color": "#f39c12",
+ "icon": "octicon octicon-package",
+ "type": "module",
+ "hidden": 1,
+ "description": "Track Stock Transactions, Reports, and Serialized Items and Batches."
+ },
+ {
+ "module_name": "Assets",
+ "category": "Modules",
+ "label": _("Assets"),
+ "color": "#4286f4",
+ "icon": "octicon octicon-database",
+ "hidden": 1,
+ "type": "module",
+ "description": "Asset Maintainance and Tools."
+ },
+ {
+ "module_name": "Projects",
+ "category": "Modules",
+ "label": _("Projects"),
+ "color": "#8e44ad",
+ "icon": "octicon octicon-rocket",
+ "type": "module",
+ "hidden": 1,
+ "description": "Updates, Timesheets and Activities."
+ },
+ {
+ "module_name": "CRM",
+ "category": "Modules",
+ "label": _("CRM"),
+ "color": "#EF4DB6",
+ "icon": "octicon octicon-broadcast",
+ "type": "module",
+ "hidden": 1,
+ "description": "Everything in your sales pipeline, from Leads to Customers, to Support."
},
{
"module_name": "HR",
+ "category": "Modules",
+ "label": _("Human Resources"),
"color": "#2ecc71",
"icon": "octicon octicon-organization",
- "label": _("Human Resources"),
"type": "module",
- "hidden": 1
+ "hidden": 1,
+ "description": "Employee Lifecycle, Payroll, Shifts and Leaves."
},
{
+ "module_name": "Quality Management",
+ "category": "Modules",
+ "label": _("Quality"),
+ "color": "#1abc9c",
+ "icon": "fa fa-check-square-o",
+ "type": "module",
+ "hidden": 1,
+ "description": "Volunteers, Memberships, Grants and Chapters."
+ },
+
+
+ # Category: "Domains"
+ {
"module_name": "Manufacturing",
+ "category": "Domains",
+ "label": _("Manufacturing"),
"color": "#7f8c8d",
"icon": "octicon octicon-tools",
"type": "module",
- "hidden": 1
+ "hidden": 1,
+ "description": "Streamline your production with BOMS, Work Orders and Timesheets."
},
{
- "module_name": "POS",
- "color": "#589494",
+ "module_name": "Retail",
+ "category": "Domains",
+ "label": _("Retail"),
+ "color": "#7f8c8d",
"icon": "octicon octicon-credit-card",
- "type": "page",
- "link": "pos",
- "label": _("POS")
- },
- {
- "module_name": "Leaderboard",
- "color": "#589494",
- "icon": "octicon octicon-graph",
- "type": "page",
- "link": "leaderboard",
- "label": _("Leaderboard")
- },
- {
- "module_name": "Support",
- "color": "#2c3e50",
- "icon": "octicon octicon-issue-opened",
"type": "module",
- "hidden": 1
+ "hidden": 1,
+ "description": "Point of Sale, Cashier Closing and Loyalty Programs."
},
{
- "module_name": "Help",
+ "module_name": "Education",
+ "category": "Domains",
+ "label": _("Education"),
+ "color": "#428B46",
+ "icon": "octicon octicon-mortar-board",
+ "type": "module",
+ "hidden": 1,
+ "description": "Manage Student Admissions, Fees, Subjects and Score Reports."
+ },
+
+ {
+ "module_name": "Healthcare",
+ "category": "Domains",
+ "label": _("Healthcare"),
+ "color": "#FF888B",
+ "icon": "fa fa-heartbeat",
+ "type": "module",
+ "hidden": 1,
+ "description": "Patients appointments, procedures and tests, with diagnosis reports and drug prescriptions."
+ },
+ {
+ "module_name": "Agriculture",
+ "category": "Domains",
+ "label": _("Agriculture"),
+ "color": "#8BC34A",
+ "icon": "octicon octicon-globe",
+ "type": "module",
+ "hidden": 1,
+ "description": "Crop Cycles, Land Areas and Soil and Plant Analysis."
+ },
+ {
+ "module_name": "Hotels",
+ "category": "Domains",
+ "label": _("Hotels"),
+ "color": "#EA81E8",
+ "icon": "fa fa-bed",
+ "type": "module",
+ "hidden": 1,
+ "description": "Manage Hotel Rooms, Pricing, Reservation and Amenities."
+ },
+
+ {
+ "module_name": "Non Profit",
+ "category": "Domains",
+ "label": _("Non Profit"),
+ "color": "#DE2B37",
+ "icon": "octicon octicon-heart",
+ "type": "module",
+ "hidden": 1,
+ "description": "Make benefiting others easier with Volunteers, Memberships, Grants and Chapters."
+ },
+ {
+ "module_name": "Restaurant",
+ "category": "Domains",
+ "label": _("Restaurant"),
+ "color": "#EA81E8",
+ "icon": "fa fa-cutlery",
+ "_doctype": "Restaurant",
+ "type": "module",
+ "link": "List/Restaurant",
+ "hidden": 1,
+ "description": "Menu, Orders and Table Reservations."
+ },
+
+
+ {
+ "module_name": "Learn",
+ "category": "Administration",
+ "label": _("Learn"),
"color": "#FF888B",
"icon": "octicon octicon-device-camera-video",
"type": "module",
"is_help": True,
- "label": _("Help"),
- "hidden": 1
+ "description": "Explore Help Articles and Videos."
},
{
- "module_name": "Maintenance",
- "color": "#FF888B",
- "icon": "octicon octicon-tools",
- "type": "module",
- "label": _("Maintenance"),
- "hidden": 1
+ "module_name": 'Marketplace',
+ "category": "Places",
+ "label": _('Marketplace'),
+ "icon": "octicon octicon-star",
+ "type": 'link',
+ "link": '#marketplace/home',
+ "color": '#FF4136',
+ 'standard': 1,
+ "description": "Publish items to other ERPNext users and start a conversation."
},
- {
- "module_name": "Student",
- "color": "#c0392b",
- "icon": "octicon octicon-person",
- "label": _("Student"),
- "link": "List/Student",
- "_doctype": "Student",
- "type": "list",
- "hidden": 1
- },
- {
- "module_name": "Student Group",
- "color": "#d59919",
- "icon": "octicon octicon-organization",
- "label": _("Student Group"),
- "link": "List/Student Group",
- "_doctype": "Student Group",
- "type": "list",
- "hidden": 1
- },
- {
- "module_name": "Course Schedule",
- "color": "#fd784f",
- "icon": "octicon octicon-calendar",
- "label": _("Course Schedule"),
- "link": "List/Course Schedule/Calendar",
- "_doctype": "Course Schedule",
- "type": "list",
- "hidden": 1
- },
- {
- "module_name": "Student Attendance Tool",
- "color": "#C0392B",
- "icon": "octicon octicon-checklist",
- "label": _("Student Attendance Tool"),
- "link": "List/Student Attendance Tool",
- "_doctype": "Student Attendance Tool",
- "type": "list",
- "hidden": 1
- },
- {
- "module_name": "Course",
- "color": "#8e44ad",
- "icon": "octicon octicon-book",
- "label": _("Course"),
- "link": "List/Course",
- "_doctype": "Course",
- "type": "list",
- "hidden": 1
- },
- {
- "module_name": "Program",
- "color": "#9b59b6",
- "icon": "octicon octicon-repo",
- "label": _("Program"),
- "link": "List/Program",
- "_doctype": "Program",
- "type": "list",
- "hidden": 1
- },
- {
- "module_name": "Student Applicant",
- "color": "#4d927f",
- "icon": "octicon octicon-clippy",
- "label": _("Student Applicant"),
- "link": "List/Student Applicant",
- "_doctype": "Student Applicant",
- "type": "list",
- "hidden": 1
- },
- {
- "module_name": "Fees",
- "color": "#83C21E",
- "icon": "fa fa-money",
- "label": _("Fees"),
- "link": "List/Fees",
- "_doctype": "Fees",
- "type": "list",
- "hidden": 1
- },
- {
- "module_name": "Instructor",
- "color": "#a99e4c",
- "icon": "octicon octicon-broadcast",
- "label": _("Instructor"),
- "link": "List/Instructor",
- "_doctype": "Instructor",
- "type": "list",
- "hidden": 1
- },
- {
- "module_name": "Room",
- "color": "#f22683",
- "icon": "fa fa-map-marker",
- "label": _("Room"),
- "link": "List/Room",
- "_doctype": "Room",
- "type": "list",
- "hidden": 1
- },
- {
- "module_name": "Education",
- "color": "#428B46",
- "icon": "octicon octicon-mortar-board",
- "type": "module",
- "label": _("Education"),
- "hidden": 1
- },
- {
- "module_name": "Healthcare",
- "color": "#FF888B",
- "icon": "fa fa-heartbeat",
- "type": "module",
- "label": _("Healthcare"),
- "hidden": 1
- },
- {
- "module_name": "Patient",
- "color": "#6BE273",
- "icon": "fa fa-user",
- "doctype": "Patient",
- "type": "link",
- "link": "List/Patient",
- "label": _("Patient"),
- "hidden": 1
- },
- {
- "module_name": "Healthcare Practitioner",
- "color": "#2ecc71",
- "icon": "fa fa-user-md",
- "doctype": "Healthcare Practitioner",
- "type": "link",
- "link": "List/Healthcare Practitioner",
- "label": _("Healthcare Practitioner"),
- "hidden": 1
- },
- {
- "module_name": "Patient Appointment",
- "color": "#934F92",
- "icon": "fa fa-calendar-plus-o",
- "doctype": "Patient Appointment",
- "type": "link",
- "link": "List/Patient Appointment",
- "label": _("Patient Appointment"),
- "hidden": 1
- },
- {
- "module_name": "Patient Encounter",
- "color": "#2ecc71",
- "icon": "fa fa-stethoscope",
- "doctype": "Patient Encounter",
- "type": "link",
- "link": "List/Patient Encounter",
- "label": _("Patient Encounter"),
- "hidden": 1
- },
- {
- "module_name": "Lab Test",
- "color": "#7578f6",
- "icon": "octicon octicon-beaker",
- "doctype": "Lab Test",
- "type": "list",
- "link": "List/Lab Test",
- "label": _("Lab Test"),
- "hidden": 1
- },
- {
- "module_name": "Vital Signs",
- "color": "#2ecc71",
- "icon": "fa fa-thermometer-empty",
- "doctype": "Vital Signs",
- "type": "list",
- "link": "List/Vital Signs",
- "label": _("Vital Signs"),
- "hidden": 1
- },
- {
- "module_name": "Clinical Procedure",
- "color": "#FF888B",
- "icon": "fa fa-medkit",
- "doctype": "Clinical Procedure",
- "type": "list",
- "link": "List/Clinical Procedure",
- "label": _("Clinical Procedure"),
- "hidden": 1
- },
- {
- "module_name": "Inpatient Record",
- "color": "#7578f6",
- "icon": "fa fa-list-alt",
- "doctype": "Inpatient Record",
- "type": "list",
- "link": "List/Inpatient Record",
- "label": _("Inpatient Record"),
- "hidden": 1
- },
- {
- "module_name": "Hub",
- "color": "#009248",
- "icon": "/assets/erpnext/images/hub_logo.svg",
- "type": "page",
- "link": "Hub/Item",
- "label": _("Hub")
- },
- {
- "module_name": "Data Import",
- "color": "#FFF168",
- "reverse": 1,
- "doctype": "Data Import",
- "icon": "octicon octicon-cloud-upload",
- "label": _("Data Import"),
- "link": "List/Data Import",
- "type": "list"
- },
- {
- "module_name": "Restaurant",
- "color": "#EA81E8",
- "icon": "🍔",
- "_doctype": "Restaurant",
- "type": "module",
- "link": "List/Restaurant",
- "label": _("Restaurant"),
- "hidden": 1
- },
- {
- "module_name": "Hotels",
- "color": "#EA81E8",
- "icon": "fa fa-bed",
- "type": "module",
- "label": _("Hotels"),
- "hidden": 1
- },
- {
- "module_name": "Agriculture",
- "color": "#8BC34A",
- "icon": "octicon octicon-globe",
- "type": "module",
- "label": _("Agriculture"),
- "hidden": 1
- },
- {
- "module_name": "Crop",
- "_doctype": "Crop",
- "label": _("Crop"),
- "color": "#8BC34A",
- "icon": "fa fa-tree",
- "type": "list",
- "link": "List/Crop",
- "hidden": 1
- },
- {
- "module_name": "Crop Cycle",
- "_doctype": "Crop Cycle",
- "label": _("Crop Cycle"),
- "color": "#8BC34A",
- "icon": "fa fa-circle-o-notch",
- "type": "list",
- "link": "List/Crop Cycle",
- "hidden": 1
- },
- {
- "module_name": "Fertilizer",
- "_doctype": "Fertilizer",
- "label": _("Fertilizer"),
- "color": "#8BC34A",
- "icon": "fa fa-leaf",
- "type": "list",
- "link": "List/Fertilizer",
- "hidden": 1
- },
- {
- "module_name": "Location",
- "_doctype": "Location",
- "label": _("Location"),
- "color": "#8BC34A",
- "icon": "fa fa-map",
- "type": "list",
- "link": "List/Location",
- "hidden": 1
- },
- {
- "module_name": "Disease",
- "_doctype": "Disease",
- "label": _("Disease"),
- "color": "#8BC34A",
- "icon": "octicon octicon-bug",
- "type": "list",
- "link": "List/Disease",
- "hidden": 1
- },
- {
- "module_name": "Plant Analysis",
- "_doctype": "Plant Analysis",
- "label": _("Plant Analysis"),
- "color": "#8BC34A",
- "icon": "fa fa-pagelines",
- "type": "list",
- "link": "List/Plant Analysis",
- "hidden": 1
- },
- {
- "module_name": "Soil Analysis",
- "_doctype": "Soil Analysis",
- "label": _("Soil Analysis"),
- "color": "#8BC34A",
- "icon": "fa fa-flask",
- "type": "list",
- "link": "List/Soil Analysis",
- "hidden": 1
- },
- {
- "module_name": "Soil Texture",
- "_doctype": "Soil Texture",
- "label": _("Soil Texture"),
- "color": "#8BC34A",
- "icon": "octicon octicon-beaker",
- "type": "list",
- "link": "List/Soil Texture",
- "hidden": 1
- },
- {
- "module_name": "Water Analysis",
- "_doctype": "Water Analysis",
- "label": _("Water Analysis"),
- "color": "#8BC34A",
- "icon": "fa fa-tint",
- "type": "list",
- "link": "List/Water Analysis",
- "hidden": 1
- },
- {
- "module_name": "Weather",
- "_doctype": "Weather",
- "label": _("Weather"),
- "color": "#8BC34A",
- "icon": "fa fa-sun-o",
- "type": "list",
- "link": "List/Weather",
- "hidden": 1
- },
- {
- "module_name": "Assets",
- "color": "#4286f4",
- "icon": "octicon octicon-database",
- "hidden": 1,
- "label": _("Assets"),
- "type": "module"
- },
- {
- "module_name": "Grant Application",
- "color": "#E9AB17",
- "icon": "fa fa-gift",
- "_doctype": "Grant Application",
- "type": "list",
- "link": "List/Grant Application",
- "label": _("Grant Application"),
- "hidden": 1
-
- },
- {
- "module_name": "Donor",
- "color": "#7F5A58",
- "icon": "fa fa-tint",
- "_doctype": "Donor",
- "type": "list",
- "link": "List/Donor",
- "label": _("Donor"),
- "hidden": 1
- },
- {
- "module_name": "Volunteer",
- "color": "#7E587E",
- "icon": "fa fa-angellist",
- "_doctype": "Volunteer",
- "type": "list",
- "link": "List/Volunteer",
- "label": _("Volunteer"),
- "hidden": 1
- },
- {
- "module_name": "Member",
- "color": "#79BAEC",
- "icon": "fa fa-users",
- "_doctype": "Member",
- "type": "list",
- "link": "List/Member",
- "label": _("Member"),
- "hidden": 1
- },
- {
- "module_name": "Chapter",
- "color": "#3B9C9C",
- "icon": "fa fa-handshake-o",
- "_doctype": "Chapter",
- "type": "list",
- "link": "List/Chapter",
- "label": _("Chapter"),
- "hidden": 1
- },
- {
- "module_name": "Non Profit",
- "color": "#DE2B37",
- "icon": "octicon octicon-heart",
- "type": "module",
- "label": _("Non Profit"),
- "hidden": 1
- },
- {
- "module_name": "Quality Management",
- "color": "#1abc9c",
- "icon": "fa fa-check-square-o",
- "type": "module",
- "label": _("Quality")
- }
- ]
\ No newline at end of file
+ ]
diff --git a/erpnext/config/hr.py b/erpnext/config/hr.py
index dca3044..93a9f41 100644
--- a/erpnext/config/hr.py
+++ b/erpnext/config/hr.py
@@ -9,65 +9,31 @@
{
"type": "doctype",
"name": "Employee",
+ "onboard": 1,
},
{
"type": "doctype",
"name": "Employee Attendance Tool",
- "hide_count": True
+ "hide_count": True,
+ "onboard": 1,
+ "dependencies": ["Employee"]
},
{
"type": "doctype",
"name": "Attendance",
+ "onboard": 1,
+ "dependencies": ["Employee"]
},
{
"type": "doctype",
"name": "Attendance Request",
+ "dependencies": ["Employee"]
},
{
"type": "doctype",
"name": "Upload Attendance",
- "hide_count": True
- }
- ]
- },
- {
- "label": _("Leaves and Holiday"),
- "items": [
- {
- "type": "doctype",
- "name": "Leave Application",
- },
- {
- "type": "doctype",
- "name": "Leave Allocation",
- },
- {
- "type": "doctype",
- "name": "Compensatory Leave Request",
- },
- {
- "type": "doctype",
- "name": "Leave Encashment",
- },
- {
- "type": "doctype",
- "name": "Leave Period",
- },
- {
- "type": "doctype",
- "name": "Leave Policy",
- },
- {
- "type": "doctype",
- "name":"Leave Type",
- },
- {
- "type": "doctype",
- "name": "Holiday List",
- },
- {
- "type": "doctype",
- "name": "Leave Block List",
+ "hide_count": True,
+ "dependencies": ["Employee"]
},
]
},
@@ -76,23 +42,34 @@
"items": [
{
"type": "doctype",
+ "name": "Salary Structure",
+ "onboard": 1,
+ },
+ {
+ "type": "doctype",
"name": "Salary Structure Assignment",
+ "onboard": 1,
+ "dependencies": ["Salary Structure", "Employee"],
},
{
"type": "doctype",
"name": "Salary Slip",
+ "onboard": 1,
},
{
"type": "doctype",
- "name": "Payroll Entry"
+ "name": "Payroll Entry",
+ "onboard": 1,
},
{
"type": "doctype",
"name": "Employee Benefit Application",
+ "dependencies": ["Employee"]
},
{
"type": "doctype",
"name": "Employee Benefit Claim",
+ "dependencies": ["Employee"]
},
{
"type": "doctype",
@@ -101,24 +78,23 @@
{
"type": "doctype",
"name": "Employee Tax Exemption Declaration",
+ "dependencies": ["Employee"]
},
{
"type": "doctype",
"name": "Employee Tax Exemption Proof Submission",
+ "dependencies": ["Employee"]
},
{
"type": "doctype",
"name": "Employee Incentive",
+ "dependencies": ["Employee"]
},
{
"type": "doctype",
"name": "Retention Bonus",
+ "dependencies": ["Employee"]
},
- ]
- },
- {
- "label": _("Payroll Setup"),
- "items": [
{
"type": "doctype",
"name": "Payroll Period",
@@ -127,172 +103,6 @@
"type": "doctype",
"name": "Salary Component",
},
- {
- "type": "doctype",
- "name": "Salary Structure",
- },
- {
- "type": "doctype",
- "name": "Employee Tax Exemption Category",
- },
- {
- "type": "doctype",
- "name": "Employee Tax Exemption Sub Category"
- }
- ]
- },
- {
- "label": _("Travel and Expense Claim"),
- "items": [
- {
- "type": "doctype",
- "name": "Employee Advance",
- },
- {
- "type": "doctype",
- "name": "Expense Claim",
- },
- {
- "type": "doctype",
- "name": "Expense Claim Type",
- },
- {
- "type": "doctype",
- "name": "Travel Request",
- },
- ]
- },
- {
- "label": _("Appraisals"),
- "items": [
- {
- "type": "doctype",
- "name": "Appraisal",
- },
- {
- "type": "doctype",
- "name": "Appraisal Template",
- },
- {
- "type": "page",
- "name": "team-updates",
- "label": _("Team Updates")
- },
- ]
- },
- {
- "label": _("Loan Management"),
- "icon": "icon-list",
- "items": [
- {
- "type": "doctype",
- "name": "Loan Type",
- },
- {
- "type": "doctype",
- "name": "Loan Application",
- },
- {
- "type": "doctype",
- "name": "Loan"
- },
- ]
- },
- {
- "label": _("Employee Lifecycle"),
- "items": [
- {
- "type": "doctype",
- "name": "Employee Transfer",
- },
- {
- "type": "doctype",
- "name": "Employee Promotion",
- },
- {
- "type": "doctype",
- "name": "Employee Separation",
- },
- {
- "type": "doctype",
- "name": "Employee Onboarding"
- },
- {
- "type": "doctype",
- "name": "Employee Separation Template",
- },
- {
- "type": "doctype",
- "name": "Employee Onboarding Template"
- }
- ]
- },
- {
- "label": _("Recruitment"),
- "items": [
- {
- "type": "doctype",
- "name": "Job Applicant",
- },
- {
- "type": "doctype",
- "name": "Job Opening",
- },
- {
- "type": "doctype",
- "name": "Job Offer",
- },
- ]
- },
- {
- "label": _("Training"),
- "items": [
- {
- "type": "doctype",
- "name": "Training Program"
- },
- {
- "type": "doctype",
- "name": "Training Event"
- },
- {
- "type": "doctype",
- "name": "Training Result"
- },
- {
- "type": "doctype",
- "name": "Training Feedback"
- },
- ]
- },
- {
- "label": _("Shift Management"),
- "items": [
- {
- "type": "doctype",
- "name": "Shift Type",
- },
- {
- "type": "doctype",
- "name": "Shift Request",
- },
- {
- "type": "doctype",
- "name": "Shift Assignment",
- }
- ]
- },
- {
- "label": _("Fleet Management"),
- "items": [
- {
- "type": "doctype",
- "name": "Vehicle"
- },
- {
- "type": "doctype",
- "name": "Vehicle Log"
- },
]
},
{
@@ -337,6 +147,157 @@
}
]
},
+
+ {
+ "label": _("Leaves"),
+ "items": [
+ {
+ "type": "doctype",
+ "name": "Leave Application",
+ "dependencies": ["Employee"]
+ },
+ {
+ "type": "doctype",
+ "name": "Leave Allocation",
+ "dependencies": ["Employee"]
+ },
+ {
+ "type": "doctype",
+ "name": "Compensatory Leave Request",
+ "dependencies": ["Employee"]
+ },
+ {
+ "type": "doctype",
+ "name": "Leave Encashment",
+ "dependencies": ["Employee"]
+ },
+ {
+ "type": "doctype",
+ "name": "Leave Period",
+ "dependencies": ["Employee"]
+ },
+ {
+ "type": "doctype",
+ "name":"Leave Type",
+ },
+ {
+ "type": "doctype",
+ "name": "Leave Policy",
+ "dependencies": ["Leave Type"]
+ },
+ {
+ "type": "doctype",
+ "name": "Holiday List",
+ },
+ {
+ "type": "doctype",
+ "name": "Leave Block List",
+ },
+ ]
+ },
+ {
+ "label": _("Recruitment and Training"),
+ "items": [
+ {
+ "type": "doctype",
+ "name": "Job Applicant",
+ "onboard": 1,
+ },
+ {
+ "type": "doctype",
+ "name": "Job Opening",
+ "onboard": 1,
+ },
+ {
+ "type": "doctype",
+ "name": "Job Offer",
+ "onboard": 1,
+ },
+ {
+ "type": "doctype",
+ "name": "Training Program"
+ },
+ {
+ "type": "doctype",
+ "name": "Training Event"
+ },
+ {
+ "type": "doctype",
+ "name": "Training Result"
+ },
+ {
+ "type": "doctype",
+ "name": "Training Feedback"
+ },
+ ]
+ },
+ {
+ "label": _("Employee Lifecycle"),
+ "items": [
+ {
+ "type": "doctype",
+ "name": "Employee Transfer",
+ "dependencies": ["Employee"],
+ },
+ {
+ "type": "doctype",
+ "name": "Employee Promotion",
+ "dependencies": ["Employee"],
+ },
+ {
+ "type": "doctype",
+ "name": "Employee Separation",
+ "dependencies": ["Employee"],
+ },
+ {
+ "type": "doctype",
+ "name": "Employee Onboarding",
+ "dependencies": ["Job Applicant"],
+ },
+ {
+ "type": "doctype",
+ "name": "Employee Separation Template",
+ "dependencies": ["Employee"]
+ },
+ {
+ "type": "doctype",
+ "name": "Employee Onboarding Template",
+ "dependencies": ["Employee"]
+ }
+ ]
+ },
+ {
+ "label": _("Appraisals, Expense Claims and Loans"),
+ "items": [
+ {
+ "type": "doctype",
+ "name": "Appraisal",
+ },
+ {
+ "type": "doctype",
+ "name": "Appraisal Template",
+ },
+ {
+ "type": "page",
+ "name": "team-updates",
+ "label": _("Team Updates")
+ },
+ {
+ "type": "doctype",
+ "name": "Employee Advance",
+ "dependencies": ["Employee"]
+ },
+ {
+ "type": "doctype",
+ "name": "Loan Type",
+ },
+ {
+ "type": "doctype",
+ "name": "Loan Application",
+ "dependencies": ["Employee"]
+ },
+ ]
+ },
{
"label": _("Reports"),
"icon": "fa fa-list",
@@ -382,33 +343,6 @@
"name": "Vehicle Expenses",
"doctype": "Vehicle"
},
-
- ]
- },
- {
- "label": _("Help"),
- "icon": "fa fa-facetime-video",
- "items": [
- {
- "type": "help",
- "label": _("Setting up Employees"),
- "youtube_id": "USfIUdZlUhw"
- },
- {
- "type": "help",
- "label": _("Leave Management"),
- "youtube_id": "fc0p_AXebc8"
- },
- {
- "type": "help",
- "label": _("Expense Claims"),
- "youtube_id": "5SZHJF--ZFY"
- }
- ]
- },
- {
- "label": _("Analytics"),
- "items": [
{
"type": "report",
"is_query_report": True,
@@ -416,5 +350,51 @@
"doctype": "Employee"
},
]
- }
+ },
+ {
+ "label": _("Shifts and Fleet Management"),
+ "items": [
+ {
+ "type": "doctype",
+ "name": "Shift Type",
+ },
+ {
+ "type": "doctype",
+ "name": "Shift Request",
+ },
+ {
+ "type": "doctype",
+ "name": "Shift Assignment",
+ },
+ {
+ "type": "doctype",
+ "name": "Vehicle"
+ },
+ {
+ "type": "doctype",
+ "name": "Vehicle Log"
+ },
+ ]
+ },
+ # {
+ # "label": _("Help"),
+ # "icon": "fa fa-facetime-video",
+ # "items": [
+ # {
+ # "type": "help",
+ # "label": _("Setting up Employees"),
+ # "youtube_id": "USfIUdZlUhw"
+ # },
+ # {
+ # "type": "help",
+ # "label": _("Leave Management"),
+ # "youtube_id": "fc0p_AXebc8"
+ # },
+ # {
+ # "type": "help",
+ # "label": _("Expense Claims"),
+ # "youtube_id": "5SZHJF--ZFY"
+ # }
+ # ]
+ # },
]
diff --git a/erpnext/config/maintenance.py b/erpnext/config/maintenance.py
deleted file mode 100644
index 97be47c..0000000
--- a/erpnext/config/maintenance.py
+++ /dev/null
@@ -1,33 +0,0 @@
-from __future__ import unicode_literals
-from frappe import _
-
-def get_data():
- return [
- {
- "label": _("Maintenance"),
- "icon": "fa fa-star",
- "items": [
- {
- "type": "doctype",
- "name": "Maintenance Schedule",
- "description": _("Plan for maintenance visits."),
- },
- {
- "type": "doctype",
- "name": "Maintenance Visit",
- "description": _("Visit report for maintenance call."),
- },
- {
- "type": "report",
- "name": "Maintenance Schedules",
- "is_query_report": True,
- "doctype": "Maintenance Schedule"
- },
- {
- "type": "doctype",
- "name": "Warranty Claim",
- "description": _("Warranty Claim against Serial No."),
- },
- ]
- }
- ]
\ No newline at end of file
diff --git a/erpnext/config/manufacturing.py b/erpnext/config/manufacturing.py
index 621c2dc..e1b6980 100644
--- a/erpnext/config/manufacturing.py
+++ b/erpnext/config/manufacturing.py
@@ -11,22 +11,33 @@
"type": "doctype",
"name": "Work Order",
"description": _("Orders released for production."),
+ "onboard": 1,
+ "dependencies": ["Item", "BOM"]
},
{
"type": "doctype",
"name": "Production Plan",
"description": _("Generate Material Requests (MRP) and Work Orders."),
+ "onboard": 1,
+ "dependencies": ["Item", "BOM"]
},
{
"type": "doctype",
"name": "Stock Entry",
+ "onboard": 1,
+ "dependencies": ["Item"]
},
{
"type": "doctype",
"name": "Timesheet",
"description": _("Time Sheet for manufacturing."),
+ "onboard": 1,
+ "dependencies": ["Activity Type"]
},
-
+ {
+ "type": "doctype",
+ "name": "Job Card"
+ }
]
},
{
@@ -34,23 +45,29 @@
"items": [
{
"type": "doctype",
- "name": "BOM",
- "description": _("Bill of Materials (BOM)"),
- "label": _("Bill of Materials")
+ "name": "Item",
+ "description": _("All Products or Services."),
+ "onboard": 1,
},
{
"type": "doctype",
"name": "BOM",
+ "description": _("Bill of Materials (BOM)"),
+ "label": _("Bill of Materials"),
+ "onboard": 1,
+ "dependencies": ["Item"]
+ },
+ {
+ "type": "doctype",
+ "name": "BOM Browser",
"icon": "fa fa-sitemap",
"label": _("BOM Browser"),
"description": _("Tree of Bill of Materials"),
"link": "Tree/BOM",
+ "onboard": 1,
+ "dependencies": ["Item"]
},
- {
- "type": "doctype",
- "name": "Item",
- "description": _("All Products or Services."),
- },
+
{
"type": "doctype",
"name": "Workstation",
@@ -61,6 +78,10 @@
"name": "Operation",
"description": _("Details of the operations carried out."),
},
+ {
+ "type": "doctype",
+ "name": "Routing"
+ }
]
},
diff --git a/erpnext/config/projects.py b/erpnext/config/projects.py
index 2f8b92d..ffd5ed4 100644
--- a/erpnext/config/projects.py
+++ b/erpnext/config/projects.py
@@ -11,29 +11,33 @@
"type": "doctype",
"name": "Project",
"description": _("Project master."),
- },
- {
- "type": "doctype",
- "name": "Project Update",
- "description": _("Project Update."),
+ "onboard": 1,
},
{
"type": "doctype",
"name": "Task",
"route": "List/Task",
"description": _("Project activity / task."),
- },
- {
- "type": "doctype",
- "name": "Project Type",
- "description": _("Define Project type."),
+ "onboard": 1,
},
{
"type": "report",
"route": "List/Task/Gantt",
"doctype": "Task",
"name": "Gantt Chart",
- "description": _("Gantt chart of all tasks.")
+ "description": _("Gantt chart of all tasks."),
+ "onboard": 1,
+ },
+ {
+ "type": "doctype",
+ "name": "Project Update",
+ "description": _("Project Update."),
+ "dependencies": ["Project"],
+ },
+ {
+ "type": "doctype",
+ "name": "Project Type",
+ "description": _("Define Project type."),
},
]
},
@@ -44,16 +48,19 @@
"type": "doctype",
"name": "Timesheet",
"description": _("Timesheet for tasks."),
+ "onboard": 1,
},
{
"type": "doctype",
"name": "Activity Type",
"description": _("Types of activities for Time Logs"),
+ "onboard": 1,
},
{
"type": "doctype",
"name": "Activity Cost",
"description": _("Cost of various activities"),
+ "dependencies": ["Activity Type"],
},
]
},
@@ -65,13 +72,16 @@
"type": "report",
"is_query_report": True,
"name": "Daily Timesheet Summary",
- "doctype": "Timesheet"
+ "doctype": "Timesheet",
+ "onboard": 1,
+ "dependencies": ["Timesheet"],
},
{
"type": "report",
"is_query_report": True,
"name": "Project wise Stock Tracking",
- "doctype": "Project"
+ "doctype": "Project",
+ "dependencies": ["Project"],
},
]
},
diff --git a/erpnext/config/quality_management.py b/erpnext/config/quality_management.py
index a17b9f5..5844846 100644
--- a/erpnext/config/quality_management.py
+++ b/erpnext/config/quality_management.py
@@ -10,11 +10,13 @@
"type": "doctype",
"name": "Quality Goal",
"description":_("Quality Goal."),
+ "onboard": 1,
},
{
"type": "doctype",
"name": "Quality Procedure",
"description":_("Quality Procedure."),
+ "onboard": 1,
},
{
"type": "doctype",
@@ -33,6 +35,7 @@
"type": "doctype",
"name": "Quality Review",
"description":_("Quality Review"),
+ "onboard": 1,
},
{
"type": "doctype",
@@ -58,6 +61,7 @@
"type": "doctype",
"name": "Customer Feedback",
"description":_("Customer Feedback"),
+ "onboard": 1,
},
{
"type": "doctype",
diff --git a/erpnext/config/retail.py b/erpnext/config/retail.py
new file mode 100644
index 0000000..738be7e
--- /dev/null
+++ b/erpnext/config/retail.py
@@ -0,0 +1,48 @@
+from __future__ import unicode_literals
+from frappe import _
+
+def get_data():
+ return [
+ {
+ "label": _("Retail Operations"),
+ "items": [
+ {
+ "type": "doctype",
+ "name": "POS Profile",
+ "label": _("Point-of-Sale Profile"),
+ "description": _("Setup default values for POS Invoices"),
+ "onboard": 1,
+ },
+ {
+ "type": "page",
+ "name": "pos",
+ "label": _("POS"),
+ "description": _("Point of Sale"),
+ "onboard": 1,
+ "dependencies": ["POS Profile"]
+ },
+ {
+ "type": "doctype",
+ "name": "Cashier Closing",
+ "description": _("Cashier Closing"),
+ },
+ {
+ "type": "doctype",
+ "name": "POS Settings",
+ "description": _("Setup mode of POS (Online / Offline)")
+ },
+ {
+ "type": "doctype",
+ "name": "Loyalty Program",
+ "label": _("Loyalty Program"),
+ "description": _("To make Customer based incentive schemes.")
+ },
+ {
+ "type": "doctype",
+ "name": "Loyalty Point Entry",
+ "label": _("Loyalty Point Entry"),
+ "description": _("To view logs of Loyalty Points assigned to a Customer.")
+ }
+ ]
+ }
+ ]
\ No newline at end of file
diff --git a/erpnext/config/selling.py b/erpnext/config/selling.py
index 94f3102..9e190a7 100644
--- a/erpnext/config/selling.py
+++ b/erpnext/config/selling.py
@@ -9,23 +9,135 @@
"items": [
{
"type": "doctype",
+ "name": "Customer",
+ "description": _("Customer database."),
+ "onboard": 1,
+ },
+ {
+ "type": "doctype",
"name": "Quotation",
"description": _("Quotes to Leads or Customers."),
+ "onboard": 1,
+ "dependencies": ["Item", "Customer"],
},
{
"type": "doctype",
"name": "Sales Order",
"description": _("Confirmed orders from Customers."),
+ "onboard": 1,
+ "dependencies": ["Item", "Customer"],
+ },
+ {
+ "type": "doctype",
+ "name": "Sales Partner",
+ "description": _("Manage Sales Partners."),
+ "dependencies": ["Item"],
+ },
+ {
+ "type": "doctype",
+ "label": _("Sales Person"),
+ "name": "Sales Person",
+ "icon": "fa fa-sitemap",
+ "link": "Tree/Sales Person",
+ "description": _("Manage Sales Person Tree."),
+ "dependencies": ["Item", "Customer"],
+ },
+ {
+ "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",
+ "dependencies": ["Sales Person"],
},
]
},
{
- "label": _("Customers"),
+ "label": _("Items and Pricing"),
"items": [
{
"type": "doctype",
- "name": "Customer",
- "description": _("Customer database."),
+ "name": "Item",
+ "description": _("All Products or Services."),
+ "onboard": 1,
+ },
+ {
+ "type": "doctype",
+ "name": "Item Price",
+ "description": _("Multiple Item prices."),
+ "route": "Report/Item Price",
+ "dependencies": ["Item", "Price List"],
+ "onboard": 1,
+ },
+ {
+ "type": "doctype",
+ "name": "Price List",
+ "description": _("Price List master."),
+ "onboard": 1,
+ },
+ {
+ "type": "doctype",
+ "name": "Item Group",
+ "icon": "fa fa-sitemap",
+ "label": _("Item Group"),
+ "link": "Tree/Item Group",
+ "description": _("Tree of Item Groups."),
+ "onboard": 1,
+ },
+ {
+ "type": "doctype",
+ "name": "Product Bundle",
+ "description": _("Bundle items at time of sale."),
+ "dependencies": ["Item"],
+ },
+ {
+ "type": "doctype",
+ "name": "Pricing Rule",
+ "description": _("Rules for applying pricing and discount."),
+ "dependencies": ["Item"],
+ },
+ {
+ "type": "doctype",
+ "name": "Shipping Rule",
+ "description": _("Rules for adding shipping costs."),
+ },
+
+ ]
+ },
+ {
+ "label": _("Setup"),
+ "icon": "fa fa-cog",
+ "items": [
+ {
+ "type": "doctype",
+ "name": "Selling Settings",
+ "description": _("Default settings for selling transactions."),
+ "onboard": 1,
+ },
+ {
+ "type": "doctype",
+ "name":"Terms and Conditions",
+ "label": _("Terms and Conditions Template"),
+ "description": _("Template of terms or contract."),
+ "onboard": 1,
+ },
+ {
+ "type": "doctype",
+ "name": "Sales Taxes and Charges Template",
+ "description": _("Tax template for selling transactions."),
+ "onboard": 1,
+ },
+ {
+ "type": "doctype",
+ "name": "Lead Source",
+ "description": _("Track Leads by Lead Source.")
},
{
"type": "doctype",
@@ -45,57 +157,6 @@
"name": "Address",
"description": _("All Addresses."),
},
-
- ]
- },
- {
- "label": _("Items and Pricing"),
- "items": [
- {
- "type": "doctype",
- "name": "Item",
- "description": _("All Products or Services."),
- },
- {
- "type": "doctype",
- "name": "Product Bundle",
- "description": _("Bundle items at time of sale."),
- },
- {
- "type": "doctype",
- "name": "Price List",
- "description": _("Price List master.")
- },
- {
- "type": "doctype",
- "name": "Item Group",
- "icon": "fa fa-sitemap",
- "label": _("Item Group"),
- "link": "Tree/Item Group",
- "description": _("Tree of Item Groups."),
- },
- {
- "type": "doctype",
- "name": "Item Price",
- "description": _("Multiple Item prices."),
- "route": "Report/Item Price"
- },
- {
- "type": "doctype",
- "name": "Shipping Rule",
- "description": _("Rules for adding shipping costs.")
- },
- {
- "type": "doctype",
- "name": "Pricing Rule",
- "description": _("Rules for applying pricing and discount.")
- },
-
- ]
- },
- {
- "label": _("Sales Partners and Territory"),
- "items": [
{
"type": "doctype",
"label": _("Territory"),
@@ -106,95 +167,28 @@
},
{
"type": "doctype",
- "name": "Sales Partner",
- "description": _("Manage Sales Partners."),
- },
- {
- "type": "doctype",
- "label": _("Sales Person"),
- "name": "Sales Person",
- "icon": "fa fa-sitemap",
- "link": "Tree/Sales Person",
- "description": _("Manage Sales Person Tree."),
- },
- {
- "type": "report",
- "is_query_report": True,
- "name": "Address And Contacts",
- "label": _("Sales Partner Addresses And Contacts"),
- "doctype": "Address",
- "route_options": {
- "party_type": "Sales Partner"
- }
- },
- {
- "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",
- },
- ]
- },
- {
- "label": _("Setup"),
- "icon": "fa fa-cog",
- "items": [
- {
- "type": "doctype",
- "name": "Selling Settings",
- "description": _("Default settings for selling transactions.")
- },
- {
- "type": "doctype",
"name": "Campaign",
"description": _("Sales campaigns."),
},
- {
- "type": "doctype",
- "name":"Terms and Conditions",
- "label": _("Terms and Conditions Template"),
- "description": _("Template of terms or contract.")
- },
- {
- "type": "doctype",
- "name": "Sales Taxes and Charges Template",
- "description": _("Tax template for selling transactions.")
- },
- {
- "type": "doctype",
- "name": "Industry Type",
- "description": _("Track Leads by Industry Type.")
- },
- {
- "type": "doctype",
- "name": "Lead Source",
- "description": _("Track Leads by Lead Source.")
- },
]
},
{
- "label": _("Analytics"),
+ "label": _("Key Reports"),
"icon": "fa fa-table",
"items": [
{
"type": "report",
"is_query_report": True,
"name": "Sales Analytics",
- "doctype": "Sales Order"
+ "doctype": "Sales Order",
+ "onboard": 1,
},
{
"type": "page",
"name": "sales-funnel",
"label": _("Sales Funnel"),
"icon": "fa fa-bar-chart",
+ "onboard": 1,
},
{
"type": "report",
@@ -206,6 +200,30 @@
{
"type": "report",
"is_query_report": True,
+ "name": "Inactive Customers",
+ "doctype": "Sales Order"
+ },
+ {
+ "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": "Quotation Trends",
"doctype": "Quotation"
},
@@ -240,36 +258,12 @@
{
"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": "BOM Search",
"doctype": "BOM"
},
{
"type": "report",
"is_query_report": True,
- "name": "Inactive Customers",
- "doctype": "Sales Order"
- },
- {
- "type": "report",
- "is_query_report": True,
"name": "Available Stock for Packing Items",
"doctype": "Item",
},
@@ -294,27 +288,6 @@
]
},
{
- "label": _("SMS"),
- "icon": "fa fa-wrench",
- "items": [
- {
- "type": "doctype",
- "name": "SMS Center",
- "description":_("Send mass SMS to your contacts"),
- },
- {
- "type": "doctype",
- "name": "SMS Log",
- "description":_("Logs for maintaining sms delivery status"),
- },
- {
- "type": "doctype",
- "name": "SMS Settings",
- "description": _("Setup SMS gateway settings")
- },
- ]
- },
- {
"label": _("Help"),
"items": [
{
diff --git a/erpnext/config/setup.py b/erpnext/config/settings.py
similarity index 95%
rename from erpnext/config/setup.py
rename to erpnext/config/settings.py
index 2978bc3..0bbf6ec 100644
--- a/erpnext/config/setup.py
+++ b/erpnext/config/settings.py
@@ -13,7 +13,8 @@
"name": "Global Defaults",
"label": _("Global Settings"),
"description": _("Set Default Values like Company, Currency, Current Fiscal Year, etc."),
- "hide_count": True
+ "hide_count": True,
+ "onboard": 1,
}
]
},
@@ -24,7 +25,8 @@
{
"type": "doctype",
"name": "Letter Head",
- "description": _("Letter Heads for print templates.")
+ "description": _("Letter Heads for print templates."),
+ "onboard": 1,
},
{
"type": "doctype",
diff --git a/erpnext/config/stock.py b/erpnext/config/stock.py
index 60eee71..6c06733 100644
--- a/erpnext/config/stock.py
+++ b/erpnext/config/stock.py
@@ -9,18 +9,30 @@
{
"type": "doctype",
"name": "Stock Entry",
+ "onboard": 1,
+ "dependencies": ["Item"],
},
{
"type": "doctype",
"name": "Delivery Note",
+ "onboard": 1,
+ "dependencies": ["Item", "Customer"],
},
{
"type": "doctype",
"name": "Purchase Receipt",
+ "onboard": 1,
+ "dependencies": ["Item", "Supplier"],
},
{
"type": "doctype",
"name": "Material Request",
+ "onboard": 1,
+ "dependencies": ["Item"],
+ },
+ {
+ "type": "doctype",
+ "name": "Delivery Trip"
},
]
},
@@ -32,56 +44,94 @@
"is_query_report": True,
"name": "Stock Ledger",
"doctype": "Stock Ledger Entry",
+ "onboard": 1,
+ "dependencies": ["Item"],
},
{
"type": "report",
"is_query_report": True,
"name": "Stock Balance",
- "doctype": "Stock Ledger Entry"
+ "doctype": "Stock Ledger Entry",
+ "onboard": 1,
+ "dependencies": ["Item"],
},
{
"type": "report",
"is_query_report": True,
"name": "Stock Projected Qty",
"doctype": "Item",
+ "onboard": 1,
+ "dependencies": ["Item"],
},
{
"type": "page",
"name": "stock-balance",
- "label": _("Stock Summary")
+ "label": _("Stock Summary"),
+ "dependencies": ["Item"],
},
{
"type": "report",
"is_query_report": True,
"name": "Stock Ageing",
"doctype": "Item",
+ "dependencies": ["Item"],
},
{
"type": "report",
"is_query_report": True,
"name": "Item Price Stock",
"doctype": "Item",
+ "dependencies": ["Item"],
}
]
},
{
+ "label": _("Setup"),
+ "icon": "fa fa-cog",
+ "items": [
+ {
+ "type": "doctype",
+ "name": "Stock Settings",
+ "onboard": 1,
+ },
+ {
+ "type": "doctype",
+ "name": "Warehouse",
+ "onboard": 1,
+ },
+ {
+ "type": "doctype",
+ "name": "UOM",
+ "label": _("Unit of Measure") + " (UOM)",
+ "onboard": 1,
+ },
+ {
+ "type": "doctype",
+ "name": "Brand",
+ "onboard": 1,
+ },
+ {
+ "type": "doctype",
+ "name": "Item Attribute",
+ },
+ {
+ "type": "doctype",
+ "name": "Item Variant Settings",
+ },
+ ]
+ },
+ {
"label": _("Items and Pricing"),
"items": [
{
"type": "doctype",
"name": "Item",
- },
- {
- "type": "doctype",
- "name": "Item Alternative",
+ "onboard": 1,
},
{
"type": "doctype",
"name": "Product Bundle",
- },
- {
- "type": "doctype",
- "name": "Price List",
+ "onboard": 1,
},
{
"type": "doctype",
@@ -89,6 +139,11 @@
"icon": "fa fa-sitemap",
"label": _("Item Group"),
"link": "Tree/Item Group",
+ "onboard": 1,
+ },
+ {
+ "type": "doctype",
+ "name": "Price List",
},
{
"type": "doctype",
@@ -104,6 +159,10 @@
},
{
"type": "doctype",
+ "name": "Item Alternative",
+ },
+ {
+ "type": "doctype",
"name": "Item Variant Settings",
},
]
@@ -114,14 +173,19 @@
{
"type": "doctype",
"name": "Serial No",
+ "onboard": 1,
+ "dependencies": ["Item"],
},
{
"type": "doctype",
"name": "Batch",
+ "onboard": 1,
+ "dependencies": ["Item"],
},
{
"type": "doctype",
"name": "Installation Note",
+ "dependencies": ["Item"],
},
{
"type": "report",
@@ -141,26 +205,23 @@
]
},
{
- "label": _("Fulfilment"),
- "items": [
- {
- "type": "doctype",
- "name": "Delivery Trip",
- "description": _("Delivery Trip service tours to customers.")
- }
- ]
- },
- {
"label": _("Tools"),
"icon": "fa fa-wrench",
"items": [
{
"type": "doctype",
"name": "Stock Reconciliation",
+ "onboard": 1,
+ },
+ {
+ "type": "doctype",
+ "name": "Landed Cost Voucher",
+ "onboard": 1,
},
{
"type": "doctype",
"name": "Packing Slip",
+ "onboard": 1,
},
{
"type": "doctype",
@@ -170,45 +231,10 @@
"type": "doctype",
"name": "Quality Inspection Template",
},
- {
- "type": "doctype",
- "name": "Landed Cost Voucher",
- }
]
},
{
- "label": _("Setup"),
- "icon": "fa fa-cog",
- "items": [
- {
- "type": "doctype",
- "name": "Stock Settings",
- },
- {
- "type": "doctype",
- "name": "Warehouse",
- },
- {
- "type": "doctype",
- "name": "UOM",
- "label": _("Unit of Measure") + " (UOM)",
- },
- {
- "type": "doctype",
- "name": "Item Attribute",
- },
- {
- "type": "doctype",
- "name": "Brand",
- },
- {
- "type": "doctype",
- "name": "Item Variant Settings",
- },
- ]
- },
- {
- "label": _("Analytics"),
+ "label": _("Key Reports"),
"icon": "fa fa-table",
"items": [
{
@@ -216,12 +242,14 @@
"is_query_report": False,
"name": "Item-wise Price List Rate",
"doctype": "Item Price",
+ "onboard": 1,
},
{
"type": "report",
"is_query_report": True,
"name": "Stock Analytics",
- "doctype": "Stock Entry"
+ "doctype": "Stock Entry",
+ "onboard": 1,
},
{
"type": "report",
@@ -235,13 +263,6 @@
"name": "Purchase Receipt Trends",
"doctype": "Purchase Receipt"
},
-
- ]
- },
- {
- "label": _("Reports"),
- "icon": "fa fa-list",
- "items": [
{
"type": "report",
"is_query_report": True,
@@ -263,14 +284,20 @@
{
"type": "report",
"is_query_report": True,
- "name": "Requested Items To Be Transferred",
- "doctype": "Material Request"
+ "name": "Batch-Wise Balance History",
+ "doctype": "Batch"
},
+ ]
+ },
+ {
+ "label": _("Other Reports"),
+ "icon": "fa fa-list",
+ "items": [
{
"type": "report",
"is_query_report": True,
- "name": "Batch-Wise Balance History",
- "doctype": "Batch"
+ "name": "Requested Items To Be Transferred",
+ "doctype": "Material Request"
},
{
"type": "report",
diff --git a/erpnext/config/support.py b/erpnext/config/support.py
deleted file mode 100644
index b85c430..0000000
--- a/erpnext/config/support.py
+++ /dev/null
@@ -1,60 +0,0 @@
-from __future__ import unicode_literals
-from frappe import _
-
-def get_data():
- return [
- {
- "label": _("Issues"),
- "items": [
- {
- "type": "doctype",
- "name": "Issue",
- "description": _("Support queries from customers."),
- },
- {
- "type": "doctype",
- "name": "Communication",
- "description": _("Communication log."),
- },
- ]
- },
- {
- "label": _("Warranty"),
- "items": [
- {
- "type": "doctype",
- "name": "Warranty Claim",
- "description": _("Warranty Claim against Serial No."),
- },
- {
- "type": "doctype",
- "name": "Serial No",
- "description": _("Single unit of an Item."),
- },
- ]
- },
- {
- "label": _("Reports"),
- "icon": "fa fa-list",
- "items": [
- {
- "type": "page",
- "name": "support-analytics",
- "label": _("Support Analytics"),
- "icon": "fa fa-bar-chart"
- },
- {
- "type": "report",
- "name": "Minutes to First Response for Issues",
- "doctype": "Issue",
- "is_query_report": True
- },
- {
- "type": "report",
- "name": "Support Hours",
- "doctype": "Issue",
- "is_query_report": True
- },
- ]
- },
- ]
diff --git a/erpnext/patches.txt b/erpnext/patches.txt
index c04049e..8ab6153 100644
--- a/erpnext/patches.txt
+++ b/erpnext/patches.txt
@@ -362,7 +362,6 @@
erpnext.patches.v7_1.set_currency_exchange_date
erpnext.patches.v7_1.set_sales_person_status
erpnext.patches.v7_1.repost_stock_for_deleted_bins_for_merging_items
-execute:frappe.delete_doc('Desktop Icon', {'module_name': 'Profit and Loss Statment'})
erpnext.patches.v7_2.update_website_for_variant
erpnext.patches.v7_2.update_assessment_modules
erpnext.patches.v7_2.update_doctype_status
@@ -545,7 +544,6 @@
erpnext.patches.v11_0.update_total_qty_field
erpnext.patches.v11_0.update_sales_partner_type
erpnext.patches.v11_0.rename_asset_adjustment_doctype
-execute:frappe.db.sql("update `tabDesktop Icon` set type = 'module' where module_name = 'Restaurant'")
erpnext.patches.v11_0.set_salary_component_properties
erpnext.patches.v11_0.set_user_permissions_for_department
erpnext.patches.v11_0.hr_ux_cleanups
@@ -564,7 +562,6 @@
erpnext.patches.v11_0.redesign_healthcare_billing_work_flow
erpnext.patches.v10_0.delete_hub_documents # 12-08-2018
erpnext.patches.v11_0.rename_healthcare_fields
-erpnext.patches.v11_0.remove_land_unit_icon
erpnext.patches.v11_0.add_default_dispatch_notification_template
erpnext.patches.v11_0.add_market_segments
erpnext.patches.v11_0.add_sales_stages
@@ -574,7 +571,6 @@
execute:frappe.delete_doc_if_exists("Page", "production-analytics")
erpnext.patches.v11_0.ewaybill_fields_gst_india #2018-11-13 #2019-01-09
erpnext.patches.v11_0.drop_column_max_days_allowed
-erpnext.patches.v11_0.change_healthcare_desktop_icons
erpnext.patches.v10_0.update_user_image_in_employee
erpnext.patches.v10_0.repost_gle_for_purchase_receipts_with_rejected_items
erpnext.patches.v10_0.allow_operators_in_supplier_scorecard
@@ -585,8 +581,4 @@
erpnext.patches.v11_0.renamed_from_to_fields_in_project
erpnext.patches.v11_0.add_permissions_in_gst_settings
erpnext.patches.v11_1.setup_guardian_role
-erpnext.patches.v12_0.change_qms_icon
-erpnext.patches.v12_0.rename_learn_to_help
-erpnext.patches.v12_0.rename_accounts_desktop_icon_to_accounting
-erpnext.patches.v12_0.replace_project_list_desktop_icon_with_projects_module_desktop_icon # 09-01-2019
erpnext.patches.v12_0.move_item_tax_to_item_tax_template
diff --git a/erpnext/patches/v11_0/change_healthcare_desktop_icons.py b/erpnext/patches/v11_0/change_healthcare_desktop_icons.py
deleted file mode 100644
index 0b77395..0000000
--- a/erpnext/patches/v11_0/change_healthcare_desktop_icons.py
+++ /dev/null
@@ -1,94 +0,0 @@
-from __future__ import unicode_literals
-import frappe
-from frappe import _
-
-change_icons_map = [
- {
- "module_name": "Patient",
- "color": "#6BE273",
- "icon": "fa fa-user",
- "doctype": "Patient",
- "type": "link",
- "link": "List/Patient",
- "label": _("Patient")
- },
- {
- "module_name": "Patient Encounter",
- "color": "#2ecc71",
- "icon": "fa fa-stethoscope",
- "doctype": "Patient Encounter",
- "type": "link",
- "link": "List/Patient Encounter",
- "label": _("Patient Encounter"),
- },
- {
- "module_name": "Healthcare Practitioner",
- "color": "#2ecc71",
- "icon": "fa fa-user-md",
- "doctype": "Healthcare Practitioner",
- "type": "link",
- "link": "List/Healthcare Practitioner",
- "label": _("Healthcare Practitioner")
- },
- {
- "module_name": "Patient Appointment",
- "color": "#934F92",
- "icon": "fa fa-calendar-plus-o",
- "doctype": "Patient Appointment",
- "type": "link",
- "link": "List/Patient Appointment",
- "label": _("Patient Appointment")
- },
- {
- "module_name": "Lab Test",
- "color": "#7578f6",
- "icon": "octicon octicon-beaker",
- "doctype": "Lab Test",
- "type": "link",
- "link": "List/Lab Test",
- "label": _("Lab Test")
- }
-]
-
-def execute():
- change_healthcare_desktop_icons()
-
-def change_healthcare_desktop_icons():
- doctypes = ["patient", "patient_encounter", "healthcare_practitioner",
- "patient_appointment", "lab_test"]
- for doctype in doctypes:
- frappe.reload_doc("healthcare", "doctype", doctype)
- for spec in change_icons_map:
- frappe.db.sql("""
- delete from `tabDesktop Icon`
- where _doctype = '{0}'
- """.format(spec['doctype']))
-
- desktop_icon = frappe.new_doc("Desktop Icon")
- desktop_icon.hidden = 1
- desktop_icon.standard = 1
- desktop_icon.icon = spec['icon']
- desktop_icon.color = spec['color']
- desktop_icon.module_name = spec['module_name']
- desktop_icon.label = spec['label']
- desktop_icon.app = "erpnext"
- desktop_icon.type = spec['type']
- desktop_icon._doctype = spec['doctype']
- desktop_icon.link = spec['link']
- desktop_icon.save(ignore_permissions=True)
-
- frappe.db.sql("""
- delete from `tabDesktop Icon`
- where module_name = 'Healthcare' and type = 'module'
- """)
-
- desktop_icon = frappe.new_doc("Desktop Icon")
- desktop_icon.hidden = 1
- desktop_icon.standard = 1
- desktop_icon.icon = "fa fa-heartbeat"
- desktop_icon.color = "#FF888B"
- desktop_icon.module_name = "Healthcare"
- desktop_icon.label = _("Healthcare")
- desktop_icon.app = "erpnext"
- desktop_icon.type = 'module'
- desktop_icon.save(ignore_permissions=True)
diff --git a/erpnext/patches/v11_0/merge_land_unit_with_location.py b/erpnext/patches/v11_0/merge_land_unit_with_location.py
index 4ded98b..1ea486d 100644
--- a/erpnext/patches/v11_0/merge_land_unit_with_location.py
+++ b/erpnext/patches/v11_0/merge_land_unit_with_location.py
@@ -29,7 +29,7 @@
if 'land_unit' in frappe.db.get_table_columns('Linked Location'):
rename_field('Linked Location', 'land_unit', 'location')
-
+
if not frappe.db.exists("Location", "All Land Units"):
frappe.get_doc({"doctype": "Location", "is_group": True, "location_name": "All Land Units"}).insert(ignore_permissions=True)
@@ -52,9 +52,6 @@
'rgt': land_unit.get('rgt')
}).insert(ignore_permissions=True)
- # frappe.db.sql("""update `tabDesktop Icon` set label='Location', module_name='Location' where label='Land Unit'""")
- frappe.db.sql("""update `tabDesktop Icon` set link='List/Location' where link='List/Land Unit'""")
-
# Delete the Land Unit and Linked Land Unit doctypes
if frappe.db.table_exists('Land Unit'):
frappe.delete_doc('DocType', 'Land Unit', force=1)
diff --git a/erpnext/patches/v11_0/refactor_erpnext_shopify.py b/erpnext/patches/v11_0/refactor_erpnext_shopify.py
index a91fda7..340e9fc 100644
--- a/erpnext/patches/v11_0/refactor_erpnext_shopify.py
+++ b/erpnext/patches/v11_0/refactor_erpnext_shopify.py
@@ -11,7 +11,6 @@
if 'erpnext_shopify' in frappe.get_installed_apps():
remove_from_installed_apps('erpnext_shopify')
- frappe.db.sql('delete from `tabDesktop Icon` where app="erpnext_shopify" ')
frappe.delete_doc("Module Def", 'erpnext_shopify')
frappe.db.commit()
diff --git a/erpnext/patches/v11_0/remove_land_unit_icon.py b/erpnext/patches/v11_0/remove_land_unit_icon.py
deleted file mode 100644
index f28c16f..0000000
--- a/erpnext/patches/v11_0/remove_land_unit_icon.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright (c) 2018, Frappe and Contributors
-# License: GNU General Public License v3. See license.txt
-
-from __future__ import unicode_literals
-
-# imports - module imports
-import frappe
-
-
-def execute():
- """
- Delete the "Land Unit" doc if exists from "Desktop Icon" doctype
- """
- try:
- doc = frappe.get_doc('Desktop Icon', {'standard': 1, 'module_name': 'Land Unit'})
- frappe.delete_doc('Desktop Icon', doc.name)
- except frappe.ValidationError:
- # The 'Land Unit' doc doesn't exist, nothing to do
- pass
diff --git a/erpnext/patches/v11_0/rename_production_order_to_work_order.py b/erpnext/patches/v11_0/rename_production_order_to_work_order.py
index 72bdb68..2c27fbb 100644
--- a/erpnext/patches/v11_0/rename_production_order_to_work_order.py
+++ b/erpnext/patches/v11_0/rename_production_order_to_work_order.py
@@ -26,10 +26,3 @@
frappe.rename_doc("Report", "Open Production Orders", "Open Work Orders", force=True)
frappe.rename_doc("Report", "Issued Items Against Production Order", "Issued Items Against Work Order", force=True)
frappe.rename_doc("Report", "Production Order Stock Report", "Work Order Stock Report", force=True)
-
- frappe.db.sql("""update `tabDesktop Icon` \
- set label='Work Order', module_name='Work Order' \
- where label='Production Order'""")
- frappe.db.sql("""update `tabDesktop Icon` \
- set link='List/Work Order' \
- where link='List/Production Order'""")
diff --git a/erpnext/patches/v12_0/change_qms_icon.py b/erpnext/patches/v12_0/change_qms_icon.py
deleted file mode 100644
index 2b6c09a..0000000
--- a/erpnext/patches/v12_0/change_qms_icon.py
+++ /dev/null
@@ -1,10 +0,0 @@
-import frappe
-
-def execute():
- qms_icons = frappe.get_all("Desktop Icon", filters={
- "module_name": "Quality Management"
- })
-
- for icon in qms_icons:
- frappe.db.set_value('Desktop Icon', icon.name, 'color', '#1abc9c')
- frappe.db.set_value('Desktop Icon', icon.name, 'icon', 'fa fa-check-square-o')
diff --git a/erpnext/patches/v12_0/rename_accounts_desktop_icon_to_accounting.py b/erpnext/patches/v12_0/rename_accounts_desktop_icon_to_accounting.py
deleted file mode 100644
index e24ed1c..0000000
--- a/erpnext/patches/v12_0/rename_accounts_desktop_icon_to_accounting.py
+++ /dev/null
@@ -1,10 +0,0 @@
-import frappe
-from frappe import _
-
-def execute():
- accounts_module_icons = frappe.get_all('Desktop Icon', filters={
- 'module_name': 'Accounts'
- }, fields=['name'])
-
- for icon in accounts_module_icons:
- frappe.db.set_value('Desktop Icon', icon.name, 'label', _('Accounting'))
\ No newline at end of file
diff --git a/erpnext/patches/v12_0/rename_learn_to_help.py b/erpnext/patches/v12_0/rename_learn_to_help.py
deleted file mode 100644
index 72f75f8..0000000
--- a/erpnext/patches/v12_0/rename_learn_to_help.py
+++ /dev/null
@@ -1,12 +0,0 @@
-import frappe
-from frappe import _
-
-def execute():
- frappe.db.sql("""
- UPDATE `tabDesktop Icon`
- SET
- `module_name`='Help', `label`=%s
- WHERE
- `module_name`='Learn' AND
- `standard`=1
- """, _('Help'))
\ No newline at end of file
diff --git a/erpnext/patches/v12_0/rename_quality_management_to_quality.py b/erpnext/patches/v12_0/rename_quality_management_to_quality.py
deleted file mode 100644
index cdcf191..0000000
--- a/erpnext/patches/v12_0/rename_quality_management_to_quality.py
+++ /dev/null
@@ -1,10 +0,0 @@
-import frappe
-from frappe import _
-
-def execute():
- quality_management_module_icons = frappe.get_all('Desktop Icon', filters={
- 'module_name': 'Quality Management'
- }, fields=['name'])
-
- for icon in quality_management_module_icons:
- frappe.db.set_value('Desktop Icon', icon.name, 'label', _('Quality'))
\ No newline at end of file
diff --git a/erpnext/patches/v12_0/replace_project_list_desktop_icon_with_projects_module_desktop_icon.py b/erpnext/patches/v12_0/replace_project_list_desktop_icon_with_projects_module_desktop_icon.py
deleted file mode 100644
index dc848f4..0000000
--- a/erpnext/patches/v12_0/replace_project_list_desktop_icon_with_projects_module_desktop_icon.py
+++ /dev/null
@@ -1,23 +0,0 @@
-import frappe
-
-def execute():
- projects_icons = frappe.get_all('Desktop Icon', filters={
- 'module_name': ['in', ('Project', 'Projects')],
- })
-
- fields_to_update = {
- 'module_name': 'Projects',
- 'color': '#8e44ad',
- 'icon': 'octicon octicon-rocket',
- 'type': 'module',
- 'link': ''
- }
-
- for icon in projects_icons:
- icon_doc = frappe.get_doc('Desktop Icon', icon.name)
- icon_doc.update(fields_to_update)
- try:
- icon_doc.save()
- except frappe.exceptions.UniqueValidationError:
- # delete duplicate icon
- icon_doc.delete()
diff --git a/erpnext/patches/v7_0/migrate_schools_to_erpnext.py b/erpnext/patches/v7_0/migrate_schools_to_erpnext.py
index 9137b5a..b72bc13 100644
--- a/erpnext/patches/v7_0/migrate_schools_to_erpnext.py
+++ b/erpnext/patches/v7_0/migrate_schools_to_erpnext.py
@@ -10,21 +10,19 @@
frappe.reload_doc('buying', 'doctype', 'request_for_quotation')
if 'schools' in frappe.get_installed_apps():
- frappe.db.sql("""delete from `tabDesktop Icon`""")
-
if not frappe.db.exists('Module Def', 'Schools') and frappe.db.exists('Module Def', 'Academics'):
-
+
# 'Schools' module changed to the 'Education'
# frappe.rename_doc("Module Def", "Academics", "Schools")
-
+
frappe.rename_doc("Module Def", "Academics", "Education")
-
+
remove_from_installed_apps("schools")
def reload_doctypes_for_schools_icons():
# 'Schools' module changed to the 'Education'
# base_path = frappe.get_app_path('erpnext', 'schools', 'doctype')
-
+
base_path = frappe.get_app_path('erpnext', 'education', 'doctype')
for doctype in os.listdir(base_path):
if os.path.exists(os.path.join(base_path, doctype, doctype + '.json')) \
diff --git a/erpnext/patches/v8_1/delete_deprecated_reports.py b/erpnext/patches/v8_1/delete_deprecated_reports.py
index 99d77c1..3e0fdee 100644
--- a/erpnext/patches/v8_1/delete_deprecated_reports.py
+++ b/erpnext/patches/v8_1/delete_deprecated_reports.py
@@ -14,32 +14,11 @@
for report in reports:
if frappe.db.exists("Report", report):
- check_and_update_desktop_icon_for_report(report)
check_and_update_auto_email_report(report)
frappe.db.commit()
frappe.delete_doc("Report", report, ignore_permissions=True)
-def check_and_update_desktop_icon_for_report(report):
- """ delete or update desktop icon"""
- desktop_icons = frappe.db.sql_list("""select name from `tabDesktop Icon`
- where _report='{0}'""".format(report))
-
- if not desktop_icons:
- return
-
- if report == "Monthly Salary Register":
- for icon in desktop_icons:
- frappe.delete_doc("Desktop Icon", icon)
-
- elif report in ["Customer Addresses And Contacts", "Supplier Addresses And Contacts"]:
- frappe.db.sql("""update `tabDesktop Icon` set _report='{value}'
- where name in ({docnames})""".format(
- value="Addresses And Contacts",
- docnames=",".join(["'%s'"%icon for icon in desktop_icons])
- )
- )
-
def check_and_update_auto_email_report(report):
""" delete or update auto email report for deprecated report """
diff --git a/erpnext/public/js/hub/hub_factory.js b/erpnext/public/js/hub/hub_factory.js
index 2efc826..8dab2d6 100644
--- a/erpnext/public/js/hub/hub_factory.js
+++ b/erpnext/public/js/hub/hub_factory.js
@@ -36,18 +36,3 @@
method: "erpnext.hub_node.doctype.marketplace_settings.marketplace_settings.is_marketplace_enabled"
}).then(r => r.message)
}
-
-$(document).on('toolbar_setup', () => {
- $('#toolbar-user .navbar-reload').after(`
- <li>
- <a class="marketplace-link" href="#marketplace/home">${__('Marketplace')}
- </li>
- `);
-
- is_marketplace_disabled()
- .then(disabled => {
- if (disabled) {
- $('#toolbar-user .marketplace-link').hide();
- }
- });
-});