Module Home Pages using Module View
diff --git a/erpnext/accounts/page/accounts_home/__init__.py b/erpnext/accounts/page/accounts_home/__init__.py
deleted file mode 100644
index baffc48..0000000
--- a/erpnext/accounts/page/accounts_home/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-from __future__ import unicode_literals
diff --git a/erpnext/accounts/page/accounts_home/accounts_home.js b/erpnext/accounts/page/accounts_home/accounts_home.js
deleted file mode 100644
index f3c3098..0000000
--- a/erpnext/accounts/page/accounts_home/accounts_home.js
+++ /dev/null
@@ -1,295 +0,0 @@
-// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
-// License: GNU General Public License v3. See license.txt"
-
-frappe.module_page["Accounts"] = [
- {
- top: true,
- title: frappe._("Documents"),
- icon: "icon-copy",
- items: [
- {
- label: frappe._("Journal Voucher"),
- description: frappe._("Accounting journal entries."),
- doctype:"Journal Voucher"
- },
- {
- label: frappe._("Sales Invoice"),
- description: frappe._("Bills raised to Customers."),
- doctype:"Sales Invoice"
- },
- {
- label: frappe._("Purchase Invoice"),
- description: frappe._("Bills raised by Suppliers."),
- doctype:"Purchase Invoice"
- },
- ]
- },
- {
- title: frappe._("Masters"),
- icon: "icon-book",
- items: [
- {
- label: frappe._("Chart of Accounts"),
- route: "Accounts Browser/Account",
- description: frappe._("Structure of books of accounts."),
- doctype:"Account"
- },
- {
- label: frappe._("Chart of Cost Centers"),
- route: "Accounts Browser/Cost Center",
- description: frappe._("Structure cost centers for budgeting."),
- doctype:"Cost Center"
- },
- {
- label: frappe._("Customer"),
- description: frappe._("Customer database."),
- doctype:"Customer"
- },
- {
- label: frappe._("Supplier"),
- description: frappe._("Supplier database."),
- doctype:"Supplier"
- },
- ]
- },
- {
- title: frappe._("Setup"),
- icon: "icon-wrench",
- items: [
- {
- label: frappe._("Company"),
- description: frappe._("Company Master."),
- doctype:"Company"
- },
- {
- label: frappe._("Fiscal Year"),
- description: frappe._("Accounting Year."),
- doctype:"Fiscal Year"
- },
- ]
- },
- {
- title: frappe._("Tools"),
- icon: "icon-wrench",
- items: [
- {
- "route":"Form/Bank Reconciliation/Bank Reconciliation",
- "label": frappe._("Bank Reconciliation"),
- "description": frappe._("Update bank payment dates with journals."),
- doctype: "Bank Reconciliation"
- },
- {
- "route":"Form/Payment to Invoice Matching Tool/Payment to Invoice Matching Tool",
- "label": frappe._("Payment Reconciliation"),
- "description": frappe._("Match non-linked Invoices and Payments."),
- doctype: "Payment to Invoice Matching Tool"
-
- },
- {
- "label": frappe._("Period Closing Voucher"),
- "doctype": "Period Closing Voucher",
- description: frappe._("Close Balance Sheet and book Profit or Loss.")
- },
- ]
- },
- {
- title: frappe._("Setup"),
- icon: "icon-cog",
- items: [
- {
- "label": frappe._("Accounts Settings"),
- "route": "Form/Accounts Settings",
- "doctype":"Accounts Settings",
- "description": frappe._("Settings for Accounts")
- },
- {
- "label": frappe._("Sales Taxes and Charges Master"),
- "doctype":"Sales Taxes and Charges Master",
- "description": frappe._("Tax Template for Sales")
- },
- {
- "label": frappe._("Purchase Taxes and Charges Master"),
- "doctype":"Purchase Taxes and Charges Master",
- "description": frappe._("Tax Template for Purchase")
- },
- {
- "label": frappe._("Shipping Rules"),
- "doctype":"Shipping Rule",
- "description": frappe._("Rules to calculate shipping amount for a sale")
- },
- {
- "label": frappe._("Currency Exchange"),
- "doctype":"Currency Exchange",
- "description": frappe._("Manage exchange rates for currency conversion")
- },
- {
- "label": frappe._("Point-of-Sale Setting"),
- "doctype":"POS Setting",
- "description": frappe._("User settings for Point-of-sale (POS)")
- },
- {
- "doctype":"Budget Distribution",
- "label": frappe._("Budget Distribution"),
- "description": frappe._("Seasonality for setting budgets.")
- },
- {
- "doctype":"Terms and Conditions",
- "label": frappe._("Terms and Conditions Template"),
- description: frappe._("Template of terms or contract.")
- },
- {
- "doctype":"Mode of Payment",
- "label": frappe._("Mode of Payment"),
- description: frappe._("e.g. Bank, Cash, Credit Card")
- },
- {
- "doctype":"C-Form",
- "label": frappe._("C-Form"),
- description: frappe._("C-Form records"),
- country: "India"
- }
- ]
- },
- {
- title: frappe._("Main Reports"),
- right: true,
- icon: "icon-table",
- items: [
- {
- "label":frappe._("General Ledger"),
- doctype: "GL Entry",
- route: "query-report/General Ledger"
- },
- {
- "label":frappe._("Trial Balance"),
- page: "trial-balance"
- },
- {
- "page":"Financial Statements",
- "label": frappe._("Financial Statements")
- },
- {
- "label":frappe._("Accounts Receivable"),
- route: "query-report/Accounts Receivable",
- doctype: "Sales Invoice"
- },
- {
- "label":frappe._("Accounts Payable"),
- route: "query-report/Accounts Payable",
- doctype: "Purchase Invoice"
- },
- {
- "label":frappe._("Sales Register"),
- route: "query-report/Sales Register",
- doctype: "Sales Invoice"
- },
- {
- "label":frappe._("Purchase Register"),
- route: "query-report/Purchase Register",
- doctype: "Purchase Invoice"
- },
- ]
- },
- {
- title: frappe._("Analytics"),
- right: true,
- icon: "icon-bar-chart",
- items: [
- {
- "label":frappe._("Financial Analytics"),
- page: "financial-analytics"
- },
- {
- "label":frappe._("Gross Profit"),
- route: "query-report/Gross Profit",
- doctype: "Sales Invoice"
- },
- ]
- },
- {
- title: frappe._("Reports"),
- right: true,
- icon: "icon-list",
- items: [
- {
- "label":frappe._("Bank Reconciliation Statement"),
- route: "query-report/Bank Reconciliation Statement",
- doctype: "Journal Voucher"
- },
- {
- "label":frappe._("Ordered Items To Be Billed"),
- route: "query-report/Ordered Items To Be Billed",
- doctype: "Sales Invoice"
- },
- {
- "label":frappe._("Delivered Items To Be Billed"),
- route: "query-report/Delivered Items To Be Billed",
- doctype: "Sales Invoice"
- },
- {
- "label":frappe._("Purchase Order Items To Be Billed"),
- route: "query-report/Purchase Order Items To Be Billed",
- doctype: "Purchase Invoice"
- },
- {
- "label":frappe._("Received Items To Be Billed"),
- route: "query-report/Received Items To Be Billed",
- doctype: "Purchase Invoice"
- },
- {
- "label":frappe._("Bank Clearance Summary"),
- route: "query-report/Bank Clearance Summary",
- doctype: "Journal Voucher"
- },
- {
- "label":frappe._("Payment Period Based On Invoice Date"),
- route: "query-report/Payment Period Based On Invoice Date",
- doctype: "Journal Voucher"
- },
- {
- "label":frappe._("Sales Partners Commission"),
- route: "query-report/Sales Partners Commission",
- doctype: "Sales Invoice"
- },
- {
- "label":frappe._("Customer Account Head"),
- route: "query-report/Customer Account Head",
- doctype: "Account"
- },
- {
- "label":frappe._("Supplier Account Head"),
- route: "query-report/Supplier Account Head",
- doctype: "Account"
- },
- {
- "label":frappe._("Item-wise Sales Register"),
- route: "query-report/Item-wise Sales Register",
- doctype: "Sales Invoice"
- },
- {
- "label":frappe._("Item-wise Purchase Register"),
- route: "query-report/Item-wise Purchase Register",
- doctype: "Purchase Invoice"
- },
- {
- "label":frappe._("Budget Variance Report"),
- route: "query-report/Budget Variance Report",
- doctype: "Cost Center"
- },
- {
- "label":frappe._("Purchase Invoice Trends"),
- route: "query-report/Purchase Invoice Trends",
- doctype: "Purchase Invoice"
- },
- {
- "label":frappe._("Sales Invoice Trends"),
- route: "query-report/Sales Invoice Trends",
- doctype: "Sales Invoice"
- },
- ]
- }
-]
-
-pscript['onload_accounts-home'] = function(wrapper) {
- frappe.views.moduleview.make(wrapper, "Accounts");
-}
\ No newline at end of file
diff --git a/erpnext/accounts/page/accounts_home/accounts_home.txt b/erpnext/accounts/page/accounts_home/accounts_home.txt
deleted file mode 100644
index 3753617..0000000
--- a/erpnext/accounts/page/accounts_home/accounts_home.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-[
- {
- "creation": "2012-06-14 15:07:28",
- "docstatus": 0,
- "modified": "2013-07-11 14:40:16",
- "modified_by": "Administrator",
- "owner": "Administrator"
- },
- {
- "doctype": "Page",
- "icon": "icon-th",
- "module": "Accounts",
- "name": "__common__",
- "page_name": "accounts-home",
- "standard": "Yes",
- "title": "Accounts Home"
- },
- {
- "doctype": "Page",
- "name": "accounts-home"
- }
-]
\ No newline at end of file
diff --git a/erpnext/buying/page/buying_home/__init__.py b/erpnext/buying/page/buying_home/__init__.py
deleted file mode 100644
index baffc48..0000000
--- a/erpnext/buying/page/buying_home/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-from __future__ import unicode_literals
diff --git a/erpnext/buying/page/buying_home/buying_home.js b/erpnext/buying/page/buying_home/buying_home.js
deleted file mode 100644
index 2ba4761..0000000
--- a/erpnext/buying/page/buying_home/buying_home.js
+++ /dev/null
@@ -1,169 +0,0 @@
-// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
-// License: GNU General Public License v3. See license.txt"
-
-frappe.module_page["Buying"] = [
- {
- title: frappe._("Documents"),
- top: true,
- icon: "icon-copy",
- items: [
- {
- label: frappe._("Supplier"),
- description: frappe._("Supplier database."),
- doctype:"Supplier"
- },
- {
- label: frappe._("Material Request"),
- description: frappe._("Request for purchase."),
- doctype:"Material Request"
- },
- {
- label: frappe._("Supplier Quotation"),
- description: frappe._("Quotations received from Suppliers."),
- doctype:"Supplier Quotation"
- },
- {
- label: frappe._("Purchase Order"),
- description: frappe._("Purchase Orders given to Suppliers."),
- doctype:"Purchase Order"
- },
- ]
- },
- {
- title: frappe._("Masters"),
- icon: "icon-book",
- items: [
- {
- label: frappe._("Contact"),
- description: frappe._("All Contacts."),
- doctype:"Contact"
- },
- {
- label: frappe._("Address"),
- description: frappe._("All Addresses."),
- doctype:"Address"
- },
- {
- label: frappe._("Item"),
- description: frappe._("All Products or Services."),
- doctype:"Item"
- },
- ]
- },
- {
- title: frappe._("Setup"),
- icon: "icon-cog",
- items: [
- {
- "label": frappe._("Buying Settings"),
- "route": "Form/Buying Settings",
- "doctype":"Buying Settings",
- "description": frappe._("Settings for Buying Module")
- },
- {
- "label": frappe._("Purchase Taxes and Charges Master"),
- "doctype":"Purchase Taxes and Charges Master",
- "description": frappe._("Tax Template for Purchase")
- },
- {
- label: frappe._("Price List"),
- description: frappe._("Multiple Price list."),
- doctype:"Price List"
- },
- {
- label: frappe._("Item Price"),
- description: frappe._("Multiple Item prices."),
- doctype:"Item Price"
- },
- {
- "doctype":"Supplier Type",
- "label": frappe._("Supplier Type"),
- "description": frappe._("Supplier classification.")
- },
- {
- "route":"Sales Browser/Item Group",
- "label":frappe._("Item Group"),
- "description": frappe._("Tree of item classification"),
- doctype:"Item Group"
- },
- {
- label: frappe._("Terms and Conditions"),
- description: frappe._("Template of terms or contract."),
- doctype:"Terms and Conditions"
- },
- ]
- },
- {
- title: frappe._("Tools"),
- icon: "icon-wrench",
- items: [
- ]
- },
- {
- title: frappe._("Analytics"),
- right: true,
- icon: "icon-bar-chart",
- items: [
- {
- "label":frappe._("Purchase Analytics"),
- page: "purchase-analytics"
- },
- ]
- },
- {
- title: frappe._("Reports"),
- right: true,
- icon: "icon-list",
- items: [
- {
- "label":frappe._("Items To Be Requested"),
- route: "query-report/Items To Be Requested",
- doctype: "Item"
- },
- {
- "label":frappe._("Requested Items To Be Ordered"),
- route: "query-report/Requested Items To Be Ordered",
- doctype: "Material Request"
- },
- {
- "label":frappe._("Material Requests for which Supplier Quotations are not created"),
- route: "query-report/Material Requests for which Supplier Quotations are not created",
- doctype: "Material Request"
- },
- {
- "label":frappe._("Purchase In Transit"),
- route: "query-report/Purchase In Transit",
- doctype: "Purchase Order"
- },
- {
- "label":frappe._("Item-wise Purchase History"),
- route: "query-report/Item-wise Purchase History",
- doctype: "Item"
- },
- {
- "label":frappe._("Item-wise Last Purchase Rate"),
- route: "query-report/Item-wise Last Purchase Rate",
- doctype: "Item"
- },
- {
- "label":frappe._("Purchase Order Trends"),
- route: "query-report/Purchase Order Trends",
- doctype: "Purchase Order"
- },
- {
- "label":frappe._("Supplier Addresses And Contacts"),
- route: "query-report/Supplier Addresses and Contacts",
- doctype: "Supplier"
- },
- {
- "label":frappe._("Supplier-Wise Sales Analytics"),
- route: "query-report/Supplier-Wise Sales Analytics",
- doctype: "Stock Ledger Entry"
- }
- ]
- }
-]
-
-pscript['onload_buying-home'] = function(wrapper) {
- frappe.views.moduleview.make(wrapper, "Buying");
-}
diff --git a/erpnext/buying/page/buying_home/buying_home.txt b/erpnext/buying/page/buying_home/buying_home.txt
deleted file mode 100644
index 49a782f..0000000
--- a/erpnext/buying/page/buying_home/buying_home.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-[
- {
- "creation": "2012-02-21 13:22:54",
- "docstatus": 0,
- "modified": "2013-07-11 14:41:50",
- "modified_by": "Administrator",
- "owner": "Administrator"
- },
- {
- "doctype": "Page",
- "icon": "icon-th",
- "module": "Buying",
- "name": "__common__",
- "page_name": "buying-home",
- "standard": "Yes",
- "title": "Buying Home"
- },
- {
- "doctype": "Page",
- "name": "buying-home"
- }
-]
\ No newline at end of file
diff --git a/erpnext/config/accounts.py b/erpnext/config/accounts.py
new file mode 100644
index 0000000..7ae67fa
--- /dev/null
+++ b/erpnext/config/accounts.py
@@ -0,0 +1,298 @@
+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.")
+ },
+ ]
+ },
+ {
+ "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 Rules",
+ "description": _("Rules for adding shipping costs.")
+ },
+ {
+ "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": "page",
+ "name":"Financial Statements",
+ "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"
+ },
+ ]
+ },
+]
\ No newline at end of file
diff --git a/erpnext/config/buying.py b/erpnext/config/buying.py
new file mode 100644
index 0000000..41f689f
--- /dev/null
+++ b/erpnext/config/buying.py
@@ -0,0 +1,164 @@
+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"
+ },
+ ]
+ },
+ {
+ "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
diff --git a/erpnext/config/desktop.py b/erpnext/config/desktop.py
index 7aeff66..700013f 100644
--- a/erpnext/config/desktop.py
+++ b/erpnext/config/desktop.py
@@ -4,7 +4,6 @@
"Accounts": {
"color": "#3498db",
"icon": "icon-money",
- "link": "accounts-home",
"type": "module"
},
"Activity": {
@@ -17,20 +16,17 @@
"Buying": {
"color": "#c0392b",
"icon": "icon-shopping-cart",
- "link": "buying-home",
"type": "module"
},
"HR": {
"color": "#2ecc71",
"icon": "icon-group",
"label": _("Human Resources"),
- "link": "hr-home",
"type": "module"
},
"Manufacturing": {
"color": "#7f8c8d",
"icon": "icon-cogs",
- "link": "manufacturing-home",
"type": "module"
},
"Notes": {
@@ -44,25 +40,21 @@
"Projects": {
"color": "#8e44ad",
"icon": "icon-puzzle-piece",
- "link": "projects-home",
"type": "module"
},
"Selling": {
"color": "#1abc9c",
"icon": "icon-tag",
- "link": "selling-home",
"type": "module"
},
"Stock": {
"color": "#f39c12",
"icon": "icon-truck",
- "link": "stock-home",
"type": "module"
},
"Support": {
"color": "#2c3e50",
"icon": "icon-phone",
- "link": "support-home",
"type": "module"
}
}
\ No newline at end of file
diff --git a/erpnext/config/hr.py b/erpnext/config/hr.py
new file mode 100644
index 0000000..6739893
--- /dev/null
+++ b/erpnext/config/hr.py
@@ -0,0 +1,202 @@
+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": "Grade",
+ "description": _("Employee grade.")
+ },
+ {
+ "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"
+ },
+ ]
+ },
+]
\ No newline at end of file
diff --git a/erpnext/config/manufacturing.py b/erpnext/config/manufacturing.py
new file mode 100644
index 0000000..618fa14
--- /dev/null
+++ b/erpnext/config/manufacturing.py
@@ -0,0 +1,77 @@
+from frappe import _
+
+data = [
+ {
+ "label": _("Documents"),
+ "icon": "icon-star",
+ "items": [
+ {
+ "type": "doctype",
+ "name": "Bill of Materials",
+ "description": _("Bill of Materials (BOM)"),
+ },
+ {
+ "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"
+ },
+ ]
+ },
+]
\ No newline at end of file
diff --git a/erpnext/config/projects.py b/erpnext/config/projects.py
new file mode 100644
index 0000000..0785a4b
--- /dev/null
+++ b/erpnext/config/projects.py
@@ -0,0 +1,66 @@
+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
diff --git a/erpnext/config/selling.py b/erpnext/config/selling.py
new file mode 100644
index 0000000..2646167
--- /dev/null
+++ b/erpnext/config/selling.py
@@ -0,0 +1,255 @@
+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 Rules",
+ "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": "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)")
+ },
+ ]
+ },
+ {
+ "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"
+ },
+ ]
+ },
+]
\ No newline at end of file
diff --git a/erpnext/config/setup.py b/erpnext/config/setup.py
index be096d8..8c2b377 100644
--- a/erpnext/config/setup.py
+++ b/erpnext/config/setup.py
@@ -1,4 +1,5 @@
from frappe import _
+from frappe.widgets.moduleview import get_config
data = [
{
@@ -85,207 +86,31 @@
},
]
},
- {
- "label": _("Accounts"),
- "icon": "icon-money",
- "items": [
- {
- "type": "page",
- "name": "Accounts Browser",
- "icon": "icon-sitemap",
- "label": _("Chart of Accounts"),
- "link": "Accounts Browser/Account",
- "description": _("Tree of finanial accounts.")
- },
- {
- "type": "page",
- "name": "Accounts Browser",
- "icon": "icon-sitemap",
- "label": _("Chart of Cost Centers"),
- "link": "Accounts Browser/Cost Center",
- "description": _("Tree of finanial Cost Centers.")
- },
- {
- "type": "doctype",
- "name": "Accounts Settings",
- "description": _("Default settings for accounting transactions.")
- },
- {
- "type": "doctype",
- "name": "Fiscal Year",
- "description": _("Financial / accounting year.")
- },
- {
- "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": "Currency",
- "description": _("Enable / disable currencies.")
- },
- {
- "type": "doctype",
- "name": "Shipping Rules",
- "description": _("Rules for adding shipping costs.")
- },
- {
- "type": "doctype",
- "name": "Currency Exchange",
- "description": _("Currency exchange rate master.")
- },
- ]
- },
- {
- "label": _("Stock"),
- "icon": "icon-truck",
- "items": [
- {
- "type": "page",
- "name": "Sales Browser",
- "icon": "icon-sitemap",
- "label": _("Item Group Tree"),
- "link": "Sales Browser/Item Group",
- "description": _("Tree of Item Groups.")
- },
- {
- "type": "doctype",
- "name": "Stock Settings",
- "description": _("Default settings for stock transactions.")
- },
- {
- "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": "Stock Reconciliation",
- "description": _("Upload actual stock for a warehouse.")
- },
- ]
- },
- {
- "label": _("Selling"),
- "icon": "icon-tag",
- "items": [
- {
- "type": "doctype",
- "name": "Selling Settings",
- "description": _("Default settings for selling transactions.")
- },
- {
- "type": "page",
- "label": _("Customer Group"),
- "name": "Sales Browser",
- "icon": "icon-sitemap",
- "link": "Sales Browser/Customer Group",
- "description": _("Manage Customer Group Tree.")
- },
- {
- "type": "page",
- "label": _("Territory"),
- "name": "Sales Browser",
- "icon": "icon-sitemap",
- "link": "Sales Browser/Territory",
- "description": _("Manage Territory Tree.")
- },
- {
- "type": "page",
- "label": _("Sales Person"),
- "name": "Sales Browser",
- "icon": "icon-sitemap",
- "link": "Sales Browser/Sales Person",
- "description": _("Manage Sales Person Tree.")
- },
- ]
- },
- {
- "label": _("Buying"),
- "icon": "icon-shopping-cart",
- "items": [
- {
- "type": "doctype",
- "name": "Buying Settings",
- "description": _("Default settings for buying transactions.")
- },
- {
- "type": "doctype",
- "name": "Supplier Type",
- "description": _("Supplier Type master.")
- },
- ]
- },
- {
- "label": _("Human Resources"),
- "icon": "icon-group",
- "items": [
- {
- "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": "Grade",
- "description": _("Employee grade.")
- },
- {
- "type": "doctype",
- "name": "Designation",
- "description": _("Employee designation (e.g. CEO, Director etc.).")
- },
- {
- "type": "doctype",
- "name": "Holiday List",
- "description": _("Holiday master.")
- },
- {
- "type": "doctype",
- "name": "Salary Structure",
- "description": _("Salary template master.")
- },
- {
- "type": "doctype",
- "name": "Appraisal Template",
- "description": _("Template for performance appraisals.")
- },
- {
- "type": "doctype",
- "name": "Leave Allocation",
- "description": _("Allocate leaves for a period.")
- },
- ]
- },
]
+
+def get_data():
+ out = list(data)
+
+ for module, label, icon in (
+ ("accounts", _("Accounts"), "icon-money"),
+ ("stock", _("Stock"), "icon-truck"),
+ ("selling", _("Selling"), "icon-tag"),
+ ("buying", _("Buying"), "icon-shopping-cart"),
+ ("hr", _("Human Resources"), "icon-group"),
+ ("website", _("Website"), "icon-globe")):
+
+ try:
+ config = get_config("erpnext", module)
+ except ImportError:
+ continue
+
+ for section in config:
+ if section.get("label")==_("Setup"):
+ out.append({
+ "label": label,
+ "icon": icon,
+ "items": section["items"]
+ })
+ break
+
+ return out
\ No newline at end of file
diff --git a/erpnext/config/stock.py b/erpnext/config/stock.py
new file mode 100644
index 0000000..afc4ea8
--- /dev/null
+++ b/erpnext/config/stock.py
@@ -0,0 +1,263 @@
+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
diff --git a/erpnext/config/support.py b/erpnext/config/support.py
new file mode 100644
index 0000000..0914320
--- /dev/null
+++ b/erpnext/config/support.py
@@ -0,0 +1,74 @@
+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
diff --git a/erpnext/config/website.py b/erpnext/config/website.py
new file mode 100644
index 0000000..0627474
--- /dev/null
+++ b/erpnext/config/website.py
@@ -0,0 +1,93 @@
+from frappe import _
+
+data = [
+ {
+ "label": _("Documents"),
+ "icon": "icon-star",
+ "items": [
+ {
+ "type": "doctype",
+ "name": "Web Page",
+ "description": _("Content web page."),
+ },
+ {
+ "type": "doctype",
+ "name": "Blog Post",
+ "description": _("Single Post (article)."),
+ },
+ {
+ "type": "doctype",
+ "name": "Blogger",
+ "description": _("Profile of a blog writer."),
+ },
+ {
+ "type": "doctype",
+ "name": "Website Group",
+ "description": _("Web Site Forum Page."),
+ },
+ {
+ "type": "doctype",
+ "name": "Post",
+ "description": _("List of Web Site Forum's Posts."),
+ },
+ {
+ "type": "doctype",
+ "name": "Website Slideshow",
+ "description": _("Embed image slideshows in website pages."),
+ },
+ ]
+ },
+ {
+ "label": _("Setup"),
+ "icon": "icon-cog",
+ "items": [
+ {
+ "type": "doctype",
+ "name": "Website Settings",
+ "description": _("Setup of top navigation bar, footer and logo."),
+ },
+ {
+ "type": "page",
+ "name":"sitemap-browser",
+ "label": _("Sitemap Browser"),
+ "description": _("View or manage Website Route tree."),
+ "icon": "icon-sitemap"
+ },
+ {
+ "type": "doctype",
+ "name": "Style Settings",
+ "description": _("Setup of fonts and background."),
+ },
+ {
+ "type": "doctype",
+ "name": "Website Script",
+ "description": _("Javascript to append to the head section of the page."),
+ },
+ {
+ "type": "doctype",
+ "name": "Blog Settings",
+ "description": _("Write titles and introductions to your blog."),
+ },
+ {
+ "type": "doctype",
+ "name": "Blog Category",
+ "description": _("Categorize blog posts."),
+ },
+ {
+ "type": "doctype",
+ "name": "About Us Settings",
+ "description": _("Settings for About Us Page."),
+ },
+ {
+ "type": "doctype",
+ "name": "Contact Us Settings",
+ "description": _("Settings for Contact Us Page."),
+ },
+ {
+ "type": "doctype",
+ "name": "Website Page Permission",
+ "description": _("Define read, write, admin permissions for a Website Page."),
+ },
+ ]
+ },
+]
\ No newline at end of file
diff --git a/erpnext/hr/page/hr_home/__init__.py b/erpnext/hr/page/hr_home/__init__.py
deleted file mode 100644
index baffc48..0000000
--- a/erpnext/hr/page/hr_home/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-from __future__ import unicode_literals
diff --git a/erpnext/hr/page/hr_home/hr_home.js b/erpnext/hr/page/hr_home/hr_home.js
deleted file mode 100644
index af6a108..0000000
--- a/erpnext/hr/page/hr_home/hr_home.js
+++ /dev/null
@@ -1,212 +0,0 @@
-// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
-// License: GNU General Public License v3. See license.txt"
-
-frappe.module_page["HR"] = [
- {
- title: frappe._("Top"),
- top: true,
- icon: "icon-copy",
- items: [
- {
- label: frappe._("Employee"),
- description: frappe._("Employee records."),
- doctype:"Employee"
- },
- {
- label: frappe._("Leave Application"),
- description: frappe._("Applications for leave."),
- doctype:"Leave Application"
- },
- {
- label: frappe._("Expense Claim"),
- description: frappe._("Claims for company expense."),
- doctype:"Expense Claim"
- },
- {
- label: frappe._("Salary Slip"),
- description: frappe._("Monthly salary statement."),
- doctype:"Salary Slip"
- },
- {
- label: frappe._("Attendance"),
- description: frappe._("Attendance record."),
- doctype:"Attendance"
- },
- ]
- },
- {
- title: frappe._("Documents"),
- icon: "icon-copy",
- items: [
- {
- label: frappe._("Job Applicant"),
- description: frappe._("Applicant for a Job."),
- doctype:"Job Applicant"
- },
- {
- label: frappe._("Appraisal"),
- description: frappe._("Performance appraisal."),
- doctype:"Appraisal"
- },
- ]
- },
- {
- title: frappe._("Leave Setup"),
- icon: "icon-cog",
- items: [
- {
- "route":"Form/Upload Attendance/Upload Attendance",
- "label":frappe._("Upload Attendance"),
- "description":frappe._("Upload attendance from a .csv file"),
- doctype: "Upload Attendance"
- },
- {
- "route":"Form/Leave Control Panel/Leave Control Panel",
- "label": frappe._("Leave Allocation Tool"),
- "description": frappe._("Allocate leaves for the year."),
- doctype: "Leave Control Panel"
- },
- {
- "label":frappe._("Leave Allocation"),
- "description":frappe._("Leave allocations."),
- doctype: "Leave Allocation"
- },
- {
- "label":frappe._("Leave Type"),
- "description":frappe._("Type of leaves like casual, sick etc."),
- doctype: "Leave Type"
- },
- {
- "label":frappe._("Holiday List"),
- "description":frappe._("List of holidays."),
- doctype: "Holiday List"
- },
- {
- "label":frappe._("Leave Block List"),
- "description":frappe._("Block leave applications by department."),
- doctype: "Leave Block List"
- },
- ]
- },
- {
- title: frappe._("Payroll Setup"),
- icon: "icon-cog",
- items: [
- {
- "label": frappe._("Salary Structure"),
- "description": frappe._("Monthly salary template."),
- doctype: "Salary Structure"
- },
- {
- "route":"Form/Salary Manager/Salary Manager",
- "label":frappe._("Process Payroll"),
- "description":frappe._("Generate Salary Slips"),
- doctype: "Salary Manager"
- },
- {
- "label": frappe._("Earning Type"),
- "description": frappe._("Salary components."),
- doctype: "Earning Type"
- },
- {
- "label": frappe._("Deduction Type"),
- "description": frappe._("Tax and other salary deductions."),
- doctype: "Deduction Type"
- },
- ]
- },
- {
- title: frappe._("Employee Setup"),
- icon: "icon-cog",
- items: [
- {
- label: frappe._("Job Opening"),
- description: frappe._("Opening for a Job."),
- doctype:"Job Opening"
- },
- {
- "label": frappe._("Employment Type"),
- "description": frappe._("Type of employment master."),
- doctype: "Employment Type"
- },
- {
- "label": frappe._("Designation"),
- "description": frappe._("Employee Designation."),
- doctype: "Designation"
- },
- {
- "label": frappe._("Appraisal Template"),
- "description": frappe._("Template for employee performance appraisals."),
- doctype: "Appraisal Template"
- },
- {
- "label": frappe._("Expense Claim Type"),
- "description": frappe._("Types of Expense Claim."),
- doctype: "Expense Claim Type"
- },
- {
- "label": frappe._("Branch"),
- "description": frappe._("Company branches."),
- doctype: "Branch"
- },
- {
- "label": frappe._("Department"),
- "description": frappe._("Company departments."),
- doctype: "Department"
- },
- {
- "label": frappe._("Grade"),
- "description": frappe._("Employee grades"),
- doctype: "Grade"
- },
- ]
- },
- {
- title: frappe._("Setup"),
- icon: "icon-cog",
- items: [
- {
- "label": frappe._("HR Settings"),
- "route": "Form/HR Settings",
- "doctype":"HR Settings",
- "description": "Settings for HR Module"
- }
- ]
- },
- {
- title: frappe._("Reports"),
- right: true,
- icon: "icon-list",
- items: [
- {
- "label":frappe._("Employee Leave Balance"),
- route: "query-report/Employee Leave Balance",
- doctype: "Leave Application"
- },
- {
- "label":frappe._("Employee Birthday"),
- route: "query-report/Employee Birthday",
- doctype: "Employee"
- },
- {
- "label":frappe._("Employee Information"),
- route: "Report/Employee/Employee Information",
- doctype: "Employee"
- },
- {
- "label":frappe._("Monthly Salary Register"),
- route: "query-report/Monthly Salary Register",
- doctype: "Salary Slip"
- },
- {
- "label":frappe._("Monthly Attendance Sheet"),
- route: "query-report/Monthly Attendance Sheet",
- doctype: "Attendance"
- },
- ]
- }
-];
-
-pscript['onload_hr-home'] = function(wrapper) {
- frappe.views.moduleview.make(wrapper, "HR");
-}
\ No newline at end of file
diff --git a/erpnext/hr/page/hr_home/hr_home.txt b/erpnext/hr/page/hr_home/hr_home.txt
deleted file mode 100644
index 3d53582..0000000
--- a/erpnext/hr/page/hr_home/hr_home.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-[
- {
- "creation": "2012-02-21 13:24:05",
- "docstatus": 0,
- "modified": "2013-07-11 14:42:23",
- "modified_by": "Administrator",
- "owner": "Administrator"
- },
- {
- "doctype": "Page",
- "icon": "icon-th",
- "module": "HR",
- "name": "__common__",
- "page_name": "hr-home",
- "standard": "Yes",
- "title": "Human Resources Home"
- },
- {
- "doctype": "Page",
- "name": "hr-home"
- }
-]
\ No newline at end of file
diff --git a/erpnext/manufacturing/page/__init__.py b/erpnext/manufacturing/page/__init__.py
deleted file mode 100644
index baffc48..0000000
--- a/erpnext/manufacturing/page/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-from __future__ import unicode_literals
diff --git a/erpnext/manufacturing/page/manufacturing_home/__init__.py b/erpnext/manufacturing/page/manufacturing_home/__init__.py
deleted file mode 100644
index baffc48..0000000
--- a/erpnext/manufacturing/page/manufacturing_home/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-from __future__ import unicode_literals
diff --git a/erpnext/manufacturing/page/manufacturing_home/manufacturing_home.js b/erpnext/manufacturing/page/manufacturing_home/manufacturing_home.js
deleted file mode 100644
index ab7bfe6..0000000
--- a/erpnext/manufacturing/page/manufacturing_home/manufacturing_home.js
+++ /dev/null
@@ -1,93 +0,0 @@
-// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
-// License: GNU General Public License v3. See license.txt"
-
-frappe.module_page["Manufacturing"] = [
- {
- title: frappe._("Documents"),
- top: true,
- icon: "icon-copy",
- items: [
- {
- label: frappe._("Bill of Materials"),
- description: frappe._("Bill of Materials (BOM)"),
- doctype:"BOM"
- },
- {
- label: frappe._("Production Order"),
- description: frappe._("Orders released for production."),
- doctype:"Production Order"
- },
- ]
- },
- {
- title: frappe._("Production Planning (MRP)"),
- icon: "icon-wrench",
- items: [
- {
- "route":"Form/Production Planning Tool/Production Planning Tool",
- "label":frappe._("Production Planning Tool"),
- "description":frappe._("Generate Material Requests (MRP) and Production Orders."),
- doctype: "Production Planning Tool"
- },
- ]
- },
- {
- title: frappe._("Masters"),
- icon: "icon-book",
- items: [
- {
- label: frappe._("Item"),
- description: frappe._("All Products or Services."),
- doctype:"Item"
- },
- {
- label: frappe._("Workstation"),
- description: frappe._("Where manufacturing operations are carried out."),
- doctype:"Workstation"
- },
- ]
- },
- {
- title: frappe._("Utility"),
- icon: "icon-wrench",
- items: [
- {
- "route":"Form/BOM Replace Tool/BOM Replace Tool",
- "label":frappe._("BOM Replace Tool"),
- "description":frappe._("Replace Item / BOM in all BOMs"),
- doctype: "BOM Replace Tool"
- },
- ]
- },
- {
- title: frappe._("Reports"),
- right: true,
- icon: "icon-list",
- items: [
- {
- "label":frappe._("Open Production Orders"),
- route: "query-report/Open Production Orders",
- doctype:"Production Order"
- },
- {
- "label":frappe._("Production Orders in Progress"),
- route: "query-report/Production Orders in Progress",
- doctype:"Production Order"
- },
- {
- "label":frappe._("Issued Items Against Production Order"),
- route: "query-report/Issued Items Against Production Order",
- doctype:"Production Order"
- },
- {
- "label":frappe._("Completed Production Orders"),
- route: "query-report/Completed Production Orders",
- doctype:"Production Order"
- },
- ]
- }
-]
-
-pscript['onload_manufacturing-home'] = function(wrapper) {
- frappe.views.moduleview.make(wrapper, "Manufacturing");
-}
\ No newline at end of file
diff --git a/erpnext/manufacturing/page/manufacturing_home/manufacturing_home.txt b/erpnext/manufacturing/page/manufacturing_home/manufacturing_home.txt
deleted file mode 100644
index 5a946f3..0000000
--- a/erpnext/manufacturing/page/manufacturing_home/manufacturing_home.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-[
- {
- "creation": "2012-02-21 13:24:34",
- "docstatus": 0,
- "modified": "2013-07-11 14:43:23",
- "modified_by": "Administrator",
- "owner": "Administrator"
- },
- {
- "doctype": "Page",
- "icon": "icon-th",
- "module": "Manufacturing",
- "name": "__common__",
- "page_name": "manufacturing-home",
- "standard": "Yes",
- "title": "Manufacturing Home"
- },
- {
- "doctype": "Page",
- "name": "manufacturing-home"
- }
-]
\ No newline at end of file
diff --git a/erpnext/patches.txt b/erpnext/patches.txt
index 3034d36..ffce00c 100644
--- a/erpnext/patches.txt
+++ b/erpnext/patches.txt
@@ -23,3 +23,5 @@
erpnext.patches.4_0.rename_sitemap_to_route
erpnext.patches.4_0.fix_contact_address
erpnext.patches.4_0.customer_discount_to_pricing_rule
+execute:frappe.db.sql("""delete from `tabWebsite Item Group` where ifnull(item_group, '')=''""")
+erpnext.patches.4_0.remove_module_home_pages
diff --git a/erpnext/patches/4_0/remove_module_home_pages.py b/erpnext/patches/4_0/remove_module_home_pages.py
new file mode 100644
index 0000000..f7407a6
--- /dev/null
+++ b/erpnext/patches/4_0/remove_module_home_pages.py
@@ -0,0 +1,10 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
+# License: GNU General Public License v3. See license.txt
+
+from __future__ import unicode_literals
+import frappe
+
+def execute():
+ for page in ("accounts-home", "website-home", "support-home", "stock-home", "selling-home", "projects-home",
+ "manufacturing-home", "hr-home", "buying-home"):
+ frappe.delete_doc("Page", page)
\ No newline at end of file
diff --git a/erpnext/projects/page/__init__.py b/erpnext/projects/page/__init__.py
deleted file mode 100644
index baffc48..0000000
--- a/erpnext/projects/page/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-from __future__ import unicode_literals
diff --git a/erpnext/projects/page/projects_home/__init__.py b/erpnext/projects/page/projects_home/__init__.py
deleted file mode 100644
index baffc48..0000000
--- a/erpnext/projects/page/projects_home/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-from __future__ import unicode_literals
diff --git a/erpnext/projects/page/projects_home/projects_home.js b/erpnext/projects/page/projects_home/projects_home.js
deleted file mode 100644
index 9ee4dce..0000000
--- a/erpnext/projects/page/projects_home/projects_home.js
+++ /dev/null
@@ -1,80 +0,0 @@
-// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
-// License: GNU General Public License v3. See license.txt"
-
-frappe.module_page["Projects"] = [
- {
- title: frappe._("Top"),
- icon: "icon-copy",
- top: true,
- items: [
- {
- label: frappe._("Task"),
- description: frappe._("Project activity / task."),
- doctype:"Task"
- },
- {
- label: frappe._("Project"),
- description: frappe._("Project master."),
- doctype:"Project"
- },
- {
- label: frappe._("Time Log"),
- description: frappe._("Time Log for tasks."),
- doctype:"Time Log"
- },
- ]
- },
- {
- title: frappe._("Documents"),
- icon: "icon-copy",
- items: [
- {
- label: frappe._("Time Log Batch"),
- description: frappe._("Batch Time Logs for billing."),
- doctype:"Time Log Batch"
- },
- ]
- },
- {
- title: frappe._("Tools"),
- icon: "icon-wrench",
- items: [
- {
- route: "Gantt/Task",
- label: frappe._("Gantt Chart"),
- "description":frappe._("Gantt chart of all tasks.")
- },
- ]
- },
- {
- title: frappe._("Masters"),
- icon: "icon-book",
- items: [
- {
- label: frappe._("Activity Type"),
- description: frappe._("Types of activities for Time Sheets"),
- doctype:"Activity Type"
- },
- ]
- },
- {
- title: frappe._("Reports"),
- right: true,
- icon: "icon-list",
- items: [
- {
- "label":frappe._("Daily Time Log Summary"),
- route: "query-report/Daily Time Log Summary",
- doctype: "Time Log"
- },
- {
- "label":frappe._("Project wise Stock Tracking"),
- route: "query-report/Project wise Stock Tracking",
- doctype: "Project"
- },
- ]
- }]
-
-pscript['onload_projects-home'] = function(wrapper) {
- frappe.views.moduleview.make(wrapper, "Projects");
-}
\ No newline at end of file
diff --git a/erpnext/projects/page/projects_home/projects_home.txt b/erpnext/projects/page/projects_home/projects_home.txt
deleted file mode 100644
index d944156..0000000
--- a/erpnext/projects/page/projects_home/projects_home.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-[
- {
- "creation": "2012-02-21 13:24:22",
- "docstatus": 0,
- "modified": "2013-07-11 14:43:49",
- "modified_by": "Administrator",
- "owner": "Administrator"
- },
- {
- "doctype": "Page",
- "icon": "icon-th",
- "module": "Projects",
- "name": "__common__",
- "page_name": "projects-home",
- "standard": "Yes",
- "title": "Projects Home"
- },
- {
- "doctype": "Page",
- "name": "projects-home"
- }
-]
\ No newline at end of file
diff --git a/erpnext/selling/page/selling_home/__init__.py b/erpnext/selling/page/selling_home/__init__.py
deleted file mode 100644
index baffc48..0000000
--- a/erpnext/selling/page/selling_home/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-from __future__ import unicode_literals
diff --git a/erpnext/selling/page/selling_home/selling_home.js b/erpnext/selling/page/selling_home/selling_home.js
deleted file mode 100644
index 765ef40..0000000
--- a/erpnext/selling/page/selling_home/selling_home.js
+++ /dev/null
@@ -1,239 +0,0 @@
-// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
-// License: GNU General Public License v3. See license.txt"
-
-frappe.module_page["Selling"] = [
- {
- top: true,
- title: frappe._("Documents"),
- icon: "icon-copy",
- items: [
- {
- label: frappe._("Customer"),
- description: frappe._("Customer database."),
- doctype:"Customer"
- },
- {
- label: frappe._("Lead"),
- description: frappe._("Database of potential customers."),
- doctype:"Lead"
- },
- {
- label: frappe._("Opportunity"),
- description: frappe._("Potential opportunities for selling."),
- doctype:"Opportunity"
- },
- {
- label: frappe._("Quotation"),
- description: frappe._("Quotes to Leads or Customers."),
- doctype:"Quotation"
- },
- {
- label: frappe._("Sales Order"),
- description: frappe._("Confirmed orders from Customers."),
- doctype:"Sales Order"
- },
- ]
- },
- {
- title: frappe._("Masters"),
- icon: "icon-book",
- items: [
- {
- label: frappe._("Contact"),
- description: frappe._("All Contacts."),
- doctype:"Contact"
- },
- {
- label: frappe._("Address"),
- description: frappe._("All Addresses."),
- doctype:"Address"
- },
- {
- label: frappe._("Item"),
- description: frappe._("All Products or Services."),
- doctype:"Item"
- },
- ]
- },
- {
- title: frappe._("Setup"),
- icon: "icon-cog",
- items: [
- {
- "label": frappe._("Selling Settings"),
- "route": "Form/Selling Settings",
- "doctype":"Selling Settings",
- "description": frappe._("Settings for Selling Module")
- },
- {
- label: frappe._("Sales Taxes and Charges Master"),
- description: frappe._("Sales taxes template."),
- doctype:"Sales Taxes and Charges Master"
- },
- {
- label: frappe._("Shipping Rules"),
- description: frappe._("Rules to calculate shipping amount for a sale"),
- doctype:"Shipping Rule"
- },
- {
- label: frappe._("Price List"),
- description: frappe._("Multiple Price list."),
- doctype:"Price List"
- },
- {
- label: frappe._("Item Price"),
- description: frappe._("Multiple Item prices."),
- doctype:"Item Price"
- },
- {
- label: frappe._("Sales BOM"),
- description: frappe._("Bundle items at time of sale."),
- doctype:"Sales BOM"
- },
- {
- label: frappe._("Terms and Conditions"),
- description: frappe._("Template of terms or contract."),
- doctype:"Terms and Conditions"
- },
- {
- label: frappe._("Customer Group"),
- description: frappe._("Customer classification tree."),
- route: "Sales Browser/Customer Group",
- doctype:"Customer Group"
- },
- {
- label: frappe._("Territory"),
- description: frappe._("Sales territories."),
- route: "Sales Browser/Territory",
- doctype:"Territory"
- },
- {
- "route":"Sales Browser/Sales Person",
- "label":frappe._("Sales Person"),
- "description": frappe._("Sales persons and targets"),
- doctype:"Sales Person"
- },
- {
- "route":"List/Sales Partner",
- "label": frappe._("Sales Partner"),
- "description":frappe._("Commission partners and targets"),
- doctype:"Sales Partner"
- },
- {
- "route":"Sales Browser/Item Group",
- "label":frappe._("Item Group"),
- "description": frappe._("Tree of item classification"),
- doctype:"Item Group"
- },
- {
- "route":"List/Campaign",
- "label":frappe._("Campaign"),
- "description":frappe._("Sales campaigns"),
- doctype:"Campaign"
- },
- ]
- },
- {
- title: frappe._("Tools"),
- icon: "icon-wrench",
- items: [
- {
- "route":"Form/SMS Center/SMS Center",
- "label":frappe._("SMS Center"),
- "description":frappe._("Send mass SMS to your contacts"),
- doctype:"SMS Center"
- },
- ]
- },
- {
- title: frappe._("Analytics"),
- right: true,
- icon: "icon-bar-chart",
- items: [
- {
- "label":frappe._("Sales Analytics"),
- page: "sales-analytics"
- },
- {
- "label":frappe._("Sales Funnel"),
- page: "sales-funnel"
- },
- {
- "label":frappe._("Customer Acquisition and Loyalty"),
- route: "query-report/Customer Acquisition and Loyalty",
- doctype: "Customer"
- },
- ]
- },
- {
- title: frappe._("Reports"),
- right: true,
- icon: "icon-list",
- items: [
- {
- "label":frappe._("Lead Details"),
- route: "query-report/Lead Details",
- doctype: "Lead"
- },
- {
- "label":frappe._("Customer Addresses And Contacts"),
- route: "query-report/Customer Addresses And Contacts",
- doctype: "Contact"
- },
- {
- "label":frappe._("Ordered Items To Be Delivered"),
- route: "query-report/Ordered Items To Be Delivered",
- doctype: "Sales Order"
- },
- {
- "label":frappe._("Sales Person-wise Transaction Summary"),
- route: "query-report/Sales Person-wise Transaction Summary",
- doctype: "Sales Order"
- },
- {
- "label":frappe._("Item-wise Sales History"),
- route: "query-report/Item-wise Sales History",
- doctype: "Item"
- },
- {
- "label":frappe._("Territory Target Variance (Item Group-Wise)"),
- route: "query-report/Territory Target Variance Item Group-Wise",
- doctype: "Territory"
- },
- {
- "label":frappe._("Sales Person Target Variance (Item Group-Wise)"),
- route: "query-report/Sales Person Target Variance Item Group-Wise",
- doctype: "Sales Person",
- },
- {
- "label":frappe._("Customers Not Buying Since Long Time"),
- route: "query-report/Customers Not Buying Since Long Time",
- doctype: "Sales Order"
- },
- {
- "label":frappe._("Quotation Trend"),
- route: "query-report/Quotation Trends",
- doctype: "Quotation"
- },
- {
- "label":frappe._("Sales Order Trend"),
- route: "query-report/Sales Order Trends",
- doctype: "Sales Order"
- },
- {
- "label":frappe._("Available Stock for Packing Items"),
- route: "query-report/Available Stock for Packing Items",
- doctype: "Item",
- },
- {
- "label":frappe._("Pending SO Items For Purchase Request"),
- route: "query-report/Pending SO Items For Purchase Request",
- doctype: "Sales Order"
- },
- ]
- }
-]
-
-pscript['onload_selling-home'] = function(wrapper) {
- frappe.views.moduleview.make(wrapper, "Selling");
-}
\ No newline at end of file
diff --git a/erpnext/selling/page/selling_home/selling_home.txt b/erpnext/selling/page/selling_home/selling_home.txt
deleted file mode 100644
index 9cff04d..0000000
--- a/erpnext/selling/page/selling_home/selling_home.txt
+++ /dev/null
@@ -1,33 +0,0 @@
-[
- {
- "creation": "2012-02-20 15:46:39",
- "docstatus": 0,
- "modified": "2013-07-11 14:44:01",
- "modified_by": "Administrator",
- "owner": "Administrator"
- },
- {
- "doctype": "Page",
- "icon": "icon-th",
- "module": "Selling",
- "name": "__common__",
- "page_name": "selling-home",
- "standard": "Yes",
- "title": "Selling Home"
- },
- {
- "doctype": "Page Role",
- "name": "__common__",
- "parent": "selling-home",
- "parentfield": "roles",
- "parenttype": "Page",
- "role": "All"
- },
- {
- "doctype": "Page",
- "name": "selling-home"
- },
- {
- "doctype": "Page Role"
- }
-]
\ No newline at end of file
diff --git a/erpnext/setup/doctype/website_item_group/website_item_group.txt b/erpnext/setup/doctype/website_item_group/website_item_group.txt
index a2a6e7e..ff731a1 100644
--- a/erpnext/setup/doctype/website_item_group/website_item_group.txt
+++ b/erpnext/setup/doctype/website_item_group/website_item_group.txt
@@ -2,7 +2,7 @@
{
"creation": "2013-02-22 01:28:09",
"docstatus": 0,
- "modified": "2013-12-20 19:21:54",
+ "modified": "2014-02-28 13:00:07",
"modified_by": "Administrator",
"owner": "Administrator"
},
@@ -26,7 +26,8 @@
"parent": "Website Item Group",
"parentfield": "fields",
"parenttype": "DocType",
- "permlevel": 0
+ "permlevel": 0,
+ "reqd": 1
},
{
"doctype": "DocType",
diff --git a/erpnext/stock/page/stock_home/__init__.py b/erpnext/stock/page/stock_home/__init__.py
deleted file mode 100644
index baffc48..0000000
--- a/erpnext/stock/page/stock_home/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-from __future__ import unicode_literals
diff --git a/erpnext/stock/page/stock_home/stock_home.js b/erpnext/stock/page/stock_home/stock_home.js
deleted file mode 100644
index 93b7110..0000000
--- a/erpnext/stock/page/stock_home/stock_home.js
+++ /dev/null
@@ -1,257 +0,0 @@
-// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
-// License: GNU General Public License v3. See license.txt"
-
-frappe.module_page["Stock"] = [
- {
- title: frappe._("Documents"),
- top: true,
- icon: "icon-copy",
- items: [
- {
- label: frappe._("Item"),
- description: frappe._("All Products or Services."),
- doctype: "Item"
- },
- {
- label: frappe._("Material Request"),
- description: frappe._("Requests for items."),
- doctype: "Material Request"
- },
- {
- label: frappe._("Stock Entry"),
- description: frappe._("Record item movement."),
- doctype: "Stock Entry"
- },
- {
- label: frappe._("Delivery Note"),
- description: frappe._("Shipments to customers."),
- doctype: "Delivery Note"
- },
- {
- label: frappe._("Purchase Receipt"),
- description: frappe._("Goods received from Suppliers."),
- doctype: "Purchase Receipt"
- },
- ]
- },
- {
- title: frappe._("Masters"),
- icon: "icon-book",
- items: [
- {
- label: frappe._("Serial No"),
- description: frappe._("Single unit of an Item."),
- doctype: "Serial No"
- },
- {
- label: frappe._("Batch"),
- description: frappe._("Batch (lot) of an Item."),
- doctype: "Batch"
- },
- {
- label: frappe._("Warehouse"),
- description: frappe._("Where items are stored."),
- doctype: "Warehouse"
- },
- ]
- },
- {
- title: frappe._("Tools"),
- icon: "icon-wrench",
- items: [
- {
- doctype: "Stock Reconciliation",
- label: frappe._("Stock Reconciliation"),
- description: frappe._("Upload stock balance via csv.")
- },
- {
- doctype: "Installation Note",
- label: frappe._("Installation Note"),
- description: frappe._("Installation record for a Serial No.")
- },
- {
- label: frappe._("Packing Slip"),
- doctype: "Packing Slip",
- description: frappe._("Split Delivery Note into packages.")
- },
- {
- doctype: "Price List",
- label: frappe._("Price List"),
- description: frappe._("Multiple Price list.")
- },
- {
- doctype: "Item Price",
- label: frappe._("Item Price"),
- description: frappe._("Multiple Item prices.")
- },
- {
- doctype: "Quality Inspection",
- label: frappe._("Quality Inspection"),
- description: frappe._("Incoming quality inspection.")
- },
- {
- route: "Form/Landed Cost Wizard/Landed Cost Wizard",
- label: frappe._("Landed Cost Wizard"),
- description: frappe._("Distribute transport overhead across items."),
- doctype: "Landed Cost Wizard"
- },
- {
- route: "Form/Stock UOM Replace Utility/Stock UOM Replace Utility",
- label: frappe._("UOM Replace Utility"),
- description: frappe._("Change UOM for an Item."),
- doctype: "Stock UOM Replace Utility"
- },
- ]
- },
- {
- title: frappe._("Setup"),
- icon: "icon-cog",
- items: [
- {
- label: frappe._("Stock Settings"),
- route: "Form/Stock Settings",
- doctype: "Stock Settings",
- description: frappe._("Settings for Stock Module")
- },
- {
- route: "Sales Browser/Item Group",
- label: frappe._("Item Group"),
- doctype: "Item Group",
- description: frappe._("Item classification.")
- },
- {
- doctype: "UOM",
- label: frappe._("Unit of Measure") + " (UOM)",
- description: frappe._("e.g. Kg, Unit, Nos, m")
- },
- {
- doctype: "Brand",
- label: frappe._("Brand"),
- description: frappe._("Brand master.")
- }
- ]
- },
- {
- title: frappe._("Main Reports"),
- right: true,
- icon: "icon-table",
- items: [
- {
- label: frappe._("Stock Ledger"),
- doctype: "Item",
- route: "query-report/Stock Ledger"
- },
- {
- label: frappe._("Stock Balance"),
- page: "stock-balance"
- },
- {
- label: frappe._("Stock Projected Qty"),
- doctype: "Item",
- route: "query-report/Stock Projected Qty"
- },
- {
- label: frappe._("Stock Ageing"),
- doctype: "Item",
- route: "query-report/Stock Ageing"
- },
- {
- label: frappe._("Item-wise Price List Rate"),
- route: "Report/Item Price/Item-wise Price List Rate",
- doctype: "Item Price"
- },
- ]
- },
- {
- title: frappe._("Analytics"),
- right: true,
- icon: "icon-bar-chart",
- items: [
- {
- label: frappe._("Stock Analytics"),
- page: "stock-analytics"
- },
- ]
- },
- {
- title: frappe._("Reports"),
- right: true,
- icon: "icon-list",
- items: [
- {
- label: frappe._("Ordered Items To Be Delivered"),
- route: "query-report/Ordered Items To Be Delivered",
- doctype: "Delivery Note"
- },
- {
- label: frappe._("Purchase Order Items To Be Received"),
- route: "query-report/Purchase Order Items To Be Received",
- doctype: "Purchase Receipt"
- },
- {
- label: frappe._("Item Shortage Report"),
- route: "Report/Bin/Item Shortage Report",
- doctype: "Purchase Receipt"
- },
- {
- label: frappe._("Serial No Service Contract Expiry"),
- route: "Report/Serial No/Serial No Service Contract Expiry",
- doctype: "Serial No"
- },
- {
- label: frappe._("Serial No Status"),
- route: "Report/Serial No/Serial No Status",
- doctype: "Serial No"
- },
- {
- label: frappe._("Serial No Warranty Expiry"),
- route: "Report/Serial No/Serial No Warranty Expiry",
- doctype: "Serial No"
- },
- {
- label: frappe._("Purchase In Transit"),
- route: "query-report/Purchase In Transit",
- doctype: "Purchase Order"
- },
- {
- label: frappe._("Requested Items To Be Transferred"),
- route: "query-report/Requested Items To Be Transferred",
- doctype: "Material Request"
- },
- {
- label: frappe._("Batch-Wise Balance History"),
- route: "query-report/Batch-Wise Balance History",
- doctype: "Batch"
- },
- {
- label: frappe._("Warehouse-Wise Stock Balance"),
- route: "query-report/Warehouse-Wise Stock Balance",
- doctype: "Warehouse"
- },
- {
- label: frappe._("Item Prices"),
- route: "query-report/Item Prices",
- doctype: "Price List"
- },
- {
- label: frappe._("Itemwise Recommended Reorder Level"),
- route: "query-report/Itemwise Recommended Reorder Level",
- doctype: "Item"
- },
- {
- label: frappe._("Delivery Note Trends"),
- route: "query-report/Delivery Note Trends",
- doctype: "Delivery Note"
- },
- {
- label: frappe._("Purchase Receipt Trends"),
- route: "query-report/Purchase Receipt Trends",
- doctype: "Purchase Receipt"
- },
- ]
- }
-]
-
-pscript['onload_stock-home'] = function(wrapper) {
- frappe.views.moduleview.make(wrapper, "Stock");
-}
\ No newline at end of file
diff --git a/erpnext/stock/page/stock_home/stock_home.txt b/erpnext/stock/page/stock_home/stock_home.txt
deleted file mode 100644
index 81e78bb..0000000
--- a/erpnext/stock/page/stock_home/stock_home.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-[
- {
- "creation": "2012-02-21 13:23:22",
- "docstatus": 0,
- "modified": "2013-07-11 14:44:17",
- "modified_by": "Administrator",
- "owner": "Administrator"
- },
- {
- "doctype": "Page",
- "icon": "icon-th",
- "module": "Stock",
- "name": "__common__",
- "page_name": "stock-home",
- "standard": "Yes",
- "title": "Stock Home"
- },
- {
- "doctype": "Page",
- "name": "stock-home"
- }
-]
\ No newline at end of file
diff --git a/erpnext/support/page/support_home/__init__.py b/erpnext/support/page/support_home/__init__.py
deleted file mode 100644
index baffc48..0000000
--- a/erpnext/support/page/support_home/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-from __future__ import unicode_literals
diff --git a/erpnext/support/page/support_home/support_home.js b/erpnext/support/page/support_home/support_home.js
deleted file mode 100644
index 38d35d9..0000000
--- a/erpnext/support/page/support_home/support_home.js
+++ /dev/null
@@ -1,99 +0,0 @@
-// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
-// License: GNU General Public License v3. See license.txt"
-
-frappe.module_page["Support"] = [
- {
- title: frappe._("Top"),
- top: true,
- icon: "icon-copy",
- items: [
- {
- label: frappe._("Support Ticket"),
- description: frappe._("Support queries from customers."),
- doctype:"Support Ticket"
- },
- {
- label: frappe._("Customer Issue"),
- description: frappe._("Customer Issue against Serial No."),
- doctype:"Customer Issue"
- },
- ]
- },
-
- {
- title: frappe._("Documents"),
- icon: "icon-copy",
- items: [
- {
- label: frappe._("Maintenance Schedule"),
- description: frappe._("Plan for maintenance visits."),
- doctype:"Maintenance Schedule"
- },
- {
- label: frappe._("Maintenance Visit"),
- description: frappe._("Visit report for maintenance call."),
- doctype:"Maintenance Visit"
- },
- {
- label: frappe._("Newsletter"),
- description: frappe._("Newsletters to contacts, leads."),
- doctype:"Newsletter"
- },
- {
- label: frappe._("Communication"),
- description: frappe._("Communication log."),
- doctype:"Communication"
- },
- ]
- },
- {
- title: frappe._("Masters"),
- icon: "icon-book",
- items: [
- {
- label: frappe._("Serial No"),
- description: frappe._("Single unit of an Item."),
- doctype:"Serial No"
- },
- ]
- },
- {
- title: frappe._("Setup"),
- icon: "icon-cog",
- items: [
- {
- "route":"Form/Email Settings/Email Settings",
- "label":frappe._("Email Settings"),
- "description":frappe._("Setup to pull emails from support email account"),
- doctype: "Email Settings"
- },
- ]
- },
- {
- title: frappe._("Analytics"),
- right: true,
- icon: "icon-bar-chart",
- items: [
- {
- "label":frappe._("Support Analytics"),
- page: "support-analytics"
- },
- ]
- },
- {
- title: frappe._("Reports"),
- right: true,
- icon: "icon-list",
- items: [
- {
- "label":frappe._("Maintenance Schedules"),
- route: "query-report/Maintenance Schedules",
- doctype: "Maintenance Schedule"
- }
- ]
- }
-]
-
-pscript['onload_support-home'] = function(wrapper) {
- frappe.views.moduleview.make(wrapper, "Support");
-}
diff --git a/erpnext/support/page/support_home/support_home.txt b/erpnext/support/page/support_home/support_home.txt
deleted file mode 100644
index 7d9fc9d..0000000
--- a/erpnext/support/page/support_home/support_home.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-[
- {
- "creation": "2012-02-21 13:23:35",
- "docstatus": 0,
- "modified": "2013-07-11 14:44:26",
- "modified_by": "Administrator",
- "owner": "Administrator"
- },
- {
- "doctype": "Page",
- "icon": "icon-th",
- "module": "Support",
- "name": "__common__",
- "page_name": "support-home",
- "standard": "Yes",
- "title": "Support Home"
- },
- {
- "doctype": "Page",
- "name": "support-home"
- }
-]
\ No newline at end of file