Merge branch 'responsive' of github.com:webnotes/erpnext into responsive
diff --git a/accounts/doctype/c_form/c_form.txt b/accounts/doctype/c_form/c_form.txt
index 9243d36..79556ab 100644
--- a/accounts/doctype/c_form/c_form.txt
+++ b/accounts/doctype/c_form/c_form.txt
@@ -1,8 +1,8 @@
[
{
- "creation": "2013-03-07 14:48:29",
+ "creation": "2013-03-07 11:55:06",
"docstatus": 0,
- "modified": "2013-02-13 11:29:18",
+ "modified": "2013-06-11 12:10:33",
"modified_by": "Administrator",
"owner": "Administrator"
},
@@ -30,6 +30,7 @@
"parentfield": "permissions",
"parenttype": "DocType",
"read": 1,
+ "report": 1,
"submit": 0
},
{
@@ -123,9 +124,8 @@
{
"doctype": "DocField",
"fieldname": "state",
- "fieldtype": "Link",
+ "fieldtype": "Data",
"label": "State",
- "options": "State",
"read_only": 0,
"reqd": 1
},
@@ -166,7 +166,6 @@
"create": 1,
"doctype": "DocPerm",
"permlevel": 0,
- "report": 1,
"role": "Accounts User",
"write": 1
},
@@ -174,7 +173,6 @@
"create": 1,
"doctype": "DocPerm",
"permlevel": 0,
- "report": 1,
"role": "Accounts Manager",
"write": 1
},
@@ -183,7 +181,6 @@
"cancel": 0,
"create": 0,
"doctype": "DocPerm",
- "match": "",
"permlevel": 1,
"role": "All"
}
diff --git a/buying/doctype/supplier/supplier.py b/buying/doctype/supplier/supplier.py
index d41b86c..0c3c2b0 100644
--- a/buying/doctype/supplier/supplier.py
+++ b/buying/doctype/supplier/supplier.py
@@ -58,9 +58,6 @@
# update credit days and limit in account
self.update_credit_days_limit()
-
- def check_state(self):
- return "\n" + "\n".join([i[0] for i in sql("select state_name from `tabState` where `tabState`.country='%s' " % self.doc.country)])
def get_payables_group(self):
g = sql("select payables_group from tabCompany where name=%s", self.doc.company)
diff --git a/docs/docs.user.customize.custom_field.md b/docs/docs.user.customize.custom_field.md
new file mode 100644
index 0000000..9a7676b
--- /dev/null
+++ b/docs/docs.user.customize.custom_field.md
@@ -0,0 +1,20 @@
+---
+{
+ "_label": "Custom Field"
+}
+---
+A very common customization is adding of custom fields. You can add Custom Fields in any Master or Transaction in ERPNext. To add a Custom Field, go to:
+
+> Setup > Custom Field > New Custom Field
+
+In the form:
+
+- Select the Document on which you want to add the Custom Field.
+- Select the Type of field and the Options (see section on field types).
+- Select where you want to field to appear in the Form (“after field” section).
+
+and save the Custom Field. When you open a new / existing form of the type you selected in step 1, you will see it with the Custom Fields.
+
+#### Naming
+
+Many times you want your fields to be carried over from one form to another. For example, you may have added a Custom Field in Quotation that you want to include in Sales Order when a Sales Order is created from the Quotation. This is simple in ERPNext, just make sure the fields have the same “fieldname”
diff --git a/docs/docs.user.customize.custom_form.md b/docs/docs.user.customize.custom_form.md
new file mode 100644
index 0000000..2e649ae
--- /dev/null
+++ b/docs/docs.user.customize.custom_form.md
@@ -0,0 +1,23 @@
+---
+{
+ "_label": "Customize Form"
+}
+---
+Please read ERPNext Structure before you start customizing.
+
+You can Customize Forms by changing its layout, making certain fields mandatory, hiding others and changing permission levels on fields by going to:
+
+> Setup > Customize ERPNext > Customize Forms
+
+Select the Form you want to customize and the fields table will be updated with the fields from that form. Here you can:
+
+- Change field types (for e.g. you want to increase the number of decimal places, you can convert come fields from Float to Currency).
+- Change labels to suit your industry / language.
+- Make certain fields mandatory.
+- Hide certain fields.
+- Change layout (sequence of fields). To do this, select a field in the grid and click on “Up” or “Down” in the grid toolbar.
+- Add / edit “Select” Options. (for example, you can add more sources in Leads etc).
+
+You can also allow attachments, set max number of attachments and set the default Print Format.
+
+> Though we want you to do everything you can to customize your ERP based on your business needs, we recommend that you do not make “wild” changes to the forms. This is because, these changes may affect certain operations and may mess up your forms. Make small changes and see its effect before doing some more.
\ No newline at end of file
diff --git a/docs/docs.user.customize.md b/docs/docs.user.customize.md
new file mode 100644
index 0000000..b1e9701
--- /dev/null
+++ b/docs/docs.user.customize.md
@@ -0,0 +1,14 @@
+---
+{
+ "_label": "Customize ERPNext",
+ "_toc": [
+ "docs.user.customize.modules",
+ "docs.user.customize.custom_field",
+ "docs.user.customize.custom_form",
+ "docs.user.customize.print_format"
+ ]
+}
+---
+ERPNext offers many tools to customize the system.
+
+You simplify the forms by hiding features you don’t need using Disable Features and Module Setup, add Custom Fields, change form properties, like adding more options to drop-downs or hiding fields using Customize Form View and make your own Print Formats by using HTML Templates. You can also create multiple Letter Heads for your Prints.
diff --git a/docs/docs.user.customize.modules.md b/docs/docs.user.customize.modules.md
new file mode 100644
index 0000000..f838df9
--- /dev/null
+++ b/docs/docs.user.customize.modules.md
@@ -0,0 +1,22 @@
+---
+{
+ "_label": "Hiding Modules and Features"
+}
+---
+### Hiding Unused Features
+
+As you have seen from this manual that ERPNext contains tons of feature that you may not use. We have observed that most users start with using 20% of the features, though a different 20%. To hide fields belonging to features you will not use, go to:
+
+> Setup > Customize ERPNext > Disable Features.
+
+Check / uncheck the features you want to use and refresh your page for the changes to take effect.
+
+---
+
+### Hiding Module Icons
+
+To hide modules (icons) from the home page, go to:
+
+Setup > Customize ERPNext > Modules Setup
+
+> Note: Modules are automatically hidden for users that have no permissions on the documents within that module. For example, if a user has no permissions on Purchase Order, Purchase Request, Supplier, the “Buying” module will automatically be hidden.
diff --git a/docs/docs.user.customize.print_format.md b/docs/docs.user.customize.print_format.md
new file mode 100644
index 0000000..82857e8
--- /dev/null
+++ b/docs/docs.user.customize.print_format.md
@@ -0,0 +1,26 @@
+---
+{
+ "_label": "Print Format"
+}
+---
+Print Formats are the layouts that are generated when you want to Print or Email a transaction like a Sales Invoice. There are two types of Print Formats,
+
+- The auto-generated “Standard” Print Format: This type of format follows the same layout as the form and is generated automatically by ERPNext.
+- Based on the Print Format document. This is templates in HTML that will be rendered with data.
+
+ERPNext comes with a number of pre-defined templates in three styles: Modern, Classic and Spartan. You modify these templates or create their own. Editing ERPNext templates is not allowed because they may be over-written in an upcoming release.
+
+To create your own versions, open an existing template from:
+
+> Setup > Branding and Printing > Print Formats
+
+Select the type of Print Format you want to edit and click on the “Copy” button on the right column. A new Print Format will open up with “Is Standard” set as “No” and you can edit the Print Format.
+
+Editing a Print Format is a long discussion and you will have to know a bit of HTML, Javascript and Python to learn this. For help, please post on our forum.
+
+> Note: Pre-printed stationary is usually not a good idea because your Prints will look incomplete (inconsistent) when you send them by mail.
+
+#### Footers
+
+Many times you may want to have a standard footer for your prints with your address and contact information. Unfortunately due to the limited print support in HTML pages, it is not possible unless you get it scripted. Either you can use pre-printed stationary or add this information in your header.
+
diff --git a/docs/docs.user.md b/docs/docs.user.md
index bb32882..a1b3ddf 100644
--- a/docs/docs.user.md
+++ b/docs/docs.user.md
@@ -3,7 +3,12 @@
"_label": "User Guide",
"_toc": [
"docs.user.intro",
- "docs.user.setup"
+ "docs.user.setup",
+ "docs.user.ops",
+ "docs.user.website",
+ "docs.user.tools",
+ "docs.user.reports",
+ "docs.user.customize"
]
}
---
diff --git a/docs/docs.user.ops.accounts.closing.md b/docs/docs.user.ops.accounts.closing.md
new file mode 100644
index 0000000..2c40bfa
--- /dev/null
+++ b/docs/docs.user.ops.accounts.closing.md
@@ -0,0 +1,21 @@
+---
+{
+ "_label": "Closing a Financial Period"
+}
+---
+At the end of every year (or quarter or maybe even monthly) after you complete your auditing, you close your books of accounts. This means that you make all your special entries like:
+
+- Depreciation
+- Change in value of Assets
+- Defer taxes and liabilities
+- Update bad debts
+
+etc. and book your Profit or Loss.
+
+By doing this, your Income and Expense Accounts become zero and you start a new Fiscal Year (or period) with a balanced Balance Sheet and fresh Profit and Loss.
+
+In ERPNext after making all the special entries via Journal Voucher, you can make all your Income and Expense accounts to zero via:
+
+> Accounts > Tools > Period Closing Voucher
+
+The Period Closing Voucher will make accounting entries (GL Entry) making all your Income and Expense Accounts zero and transferring the balance to the Account you define.
\ No newline at end of file
diff --git a/docs/docs.user.ops.accounts.journal_voucher.md b/docs/docs.user.ops.accounts.journal_voucher.md
new file mode 100644
index 0000000..18615d1
--- /dev/null
+++ b/docs/docs.user.ops.accounts.journal_voucher.md
@@ -0,0 +1,56 @@
+---
+{
+ "_label": "Journal Vouchers"
+}
+---
+All types of accounting entries other than **Sales Invoice** and **Purchase Invoice** are made using the **Journal Voucher**. A **Journal Voucher** (also called Journal Entry) is a standard accounting transaction that affects multiple Accounts and the sum of debits is equal to the sum of credits.
+
+To create a Journal Voucher go to:
+
+> Accounts > Journal Voucher > New Journal Voucher
+
+In a Journal Voucher, you must select.
+
+- Type of Voucher from the drop down.
+- Add rows for the individual accounting entries. In each row, you must specify:
+ - The Account that will be affected
+ - The amount to Debit or Credit
+ - The Cost Center (if it is an Income or Expense)
+ - Against Voucher: Link it to a voucher or invoice if it affects the “outstanding” amount of that invoice.
+ - Is Advance: Select “Yes” if you want to make it selectable in an Invoice.
+Other information in case it is a Bank Payment or a bill.
+
+#### Difference
+
+The “Difference” field is the difference between the Debit and Credit amounts. This should be zero if the Journal Voucher is to be “Submitted”. If this number is not zero, you can click on “Make Difference Entry” to add a new row with the amount required to make the total as zero.
+
+---
+
+## Common Entries
+
+A look at some of the common accounting entries that can be done via Journal Voucher.
+
+#### Expenses (non accruing)
+
+Many times it may not be necessary to accrue an expense, but it can be directly be booked against an expense Account on payment. For example a travel allowance or a telephone bill. You can directly debit Telephone Expense (instead of your telephone company) and credit your Bank on payment.
+
+- Debit: Expense Account (like Telephone expense)
+- Credit: Bank or Cash Account
+
+#### Bad Debts or Write Offs
+
+If you are writing off an Invoice as a bad debt, you can create a Journal Voucher similar to a Payment, except instead of debiting your Bank, you can debit an Expense Account called Bad Debts.
+
+- Debit: Bad Debts Written Off
+- Credit: Customer
+
+> Note: There may be regulations in your country before you can write off bad debts.
+
+#### Depreciation
+
+Depreciation is when you write off certain value of your assets as an expense. For example if you have a computer that you will use for say 5 years, you can distribute its expense over the period and pass a Journal Voucher at the end of each year reducing its value by a certain percentage.
+
+- Debit: Depreciation (Expense)
+- Credit: Asset (the Account under which you had booked the asset to be depreciated)
+
+> Note: There may be regulations in your country that define by how much amount you can depreciate a class of Assets.
diff --git a/docs/docs.user.ops.accounts.md b/docs/docs.user.ops.accounts.md
new file mode 100644
index 0000000..855913b
--- /dev/null
+++ b/docs/docs.user.ops.accounts.md
@@ -0,0 +1,52 @@
+---
+{
+ "_label": "Accounts",
+ "_toc": [
+ "docs.user.ops.accounts.sales_invoice",
+ "docs.user.ops.accounts.pos",
+ "docs.user.ops.accounts.purchase_invoice",
+ "docs.user.ops.accounts.journal_voucher",
+ "docs.user.ops.accounts.payments",
+ "docs.user.ops.accounts.returns",
+ "docs.user.ops.accounts.closing",
+ "docs.user.ops.accounts.reports"
+ ]
+}
+---
+At end of the sales and purchase cycle is billing and payments. You may have an accountant in your team, or you may be doing accounting yourself or you may have outsourced your accounting. Financial accounting forms the core of any business management system like an ERP.
+
+In ERPNext, your accounting operations consists of 3 main transactions:
+
+- Sales Invoice: The bills that you raise to your Customers for the products or services you provide.
+- Purchase Invoice: Bills that your Suppliers give you for their products or services.
+- Journal Vouchers: For accounting entries, like payments, credit and other types.
+
+---
+
+### Accounting Basics
+
+#### Debit and Credit
+
+People new to accounting are often confused with the terms Debit and Credit. Contrary to their meaning, these terms have nothing to do with who owes what.
+
+Debit and Credit are conventions. All accounting follows these so that it is easy to understand the state of finances in a universal manner. These conventions are:
+
+- All Accounts are of type Debit or Credit.
+- Assets and Expenses (and their sub-groups) are always Debit.
+- Liabilities and Income (and their sub-groups) are always Credit.
+- In all accounting entries, you “debit” an Account or “credit” one.
+- When you “debit” an Debit Account (an asset or expense), its value increases (“add” operation). When you “credit” a Debit Account, its value decreases (“subtract” operation). The same rule applies for Credit Accounts. “Crediting” a Credit Account, increases its value, “debiting” it decreases its value.
+- All accounting transactions (like a sales or a payment) must affect at least two different Accounts and sum of debits must be equal to sum of credits for the transaction. This is called the “double-entry bookkeeping system”.
+
+Still confused? These conventions will become clearer as you make transactions.
+
+#### Accrual System
+
+Another important concept to understand in Accounting is accrual. This is important when your payment happens separately from delivery.
+
+For example you buy X from a Supplier and your Supplier sends you a bill and expects you to pay in, for example, seven days. Even if you have not yet paid your Supplier, your expense must be booked immediately. This expense is booked against a group of Accounts called “Accounts Payable” that is the sum of all your outstanding dues to your Suppliers. This is called accrual. When you pay your Supplier, you will cancel his dues and update your bank account.
+
+ERPNext works on an accrual system. The transactions that accrue income and expense are Sales Invoice and Purchase Invoice.
+
+In retail, typically, delivery and payment happens at the same time. To cover this scenario, we have in ERPNext a POS Invoice (POS = Point of Sales). More on that later.
+
diff --git a/docs/docs.user.ops.accounts.payments.md b/docs/docs.user.ops.accounts.payments.md
new file mode 100644
index 0000000..25c9c4b
--- /dev/null
+++ b/docs/docs.user.ops.accounts.payments.md
@@ -0,0 +1,73 @@
+---
+{
+ "_label": "Making Payments"
+}
+---
+Payments made against Sales Invoices or Purchase Invoices can be made by clicking on “Make Payment Entry” button on “Submitted” invoices.
+
+1. Update the “Bank Account” (you can also set the default account in the Company master).
+1. Update posting date.
+1. Enter the check number, check date.
+1. Save and Submit.
+
+Payments can also be made independent of invoices by creating a new Journal Voucher and selecting the type of payment.
+
+#### Incoming Payment
+
+For payments from Customers,
+
+- Debit: Bank or Cash Account
+- Credit: Customer
+
+> Note: Remember to the “Against Sales Invoice” or “Is Advance” as applicable.
+
+#### Outgoing Payment
+
+For payments to Suppliers,
+
+- Debit: Supplier
+- Credit: Bank or Cash Account
+
+> Note: Remember to the “Against Purchase Invoice” or “Is Advance” as applicable.
+
+---
+
+### Reconciling Cheque (Check) Payments
+
+If you are receiving payments or making payments via cheques, the bank statements will not accurately match the dates of your entry, this is because the bank usually takes time to “clear” these payments. Also you may have mailed a cheque to your Supplier and it may be a few days before it is received and deposited by the Supplier. In ERPNext you can synchronize your bank statements and your Journal Vouchers using the “Bank Reconciliation” tool.
+
+To use this, go to:
+
+> Accounts > Bank Reconciliation
+
+Select your “Bank” Account and enter the dates of your statement. Here you will get all the “Bank Voucher” type entries. In each of the entry on the right most column, update the “Clearance Date” and click on “Update”.
+
+This way you will be able sync your bank statements and entries in the system.
+
+---
+
+## Managing Outstanding Payments
+
+In most cases, apart from retail sales, billing and payment are separate activities. There are several combinations in which these payments are done. These cases apply to both sales and purchases.
+
+- They can be upfront (100% in advance).
+- Post shipment. Either on delivery or within a few days of delivery.
+- Part in advance and part on or post delivery.
+- Payments can be made together for a bunch of invoices.
+- Advances can be given together for a bunch of invoices (and can be split across invoices).
+
+ERPNext allows you to manage all these scenarios. All accounting entries (GL Entry) can be made against a Sales Invoice, Purchase Invoice or Journal Vouchers (in special cases, an invoice can be made via a Sales Invoice too).
+
+The total outstanding amount against an invoice is the sum of all the accounting entries that are made “against” (or are linked to) that invoice. This way you can combine or split payments in Journal Vouchers to manage the scenarios.
+
+### Matching Payments to Invoices
+
+In complex scenarios, especially in the capital goods industry, sometimes there is no direct link between payments and invoices. You send invoices to your Customers and your Customer send you block payments or payments based on some schedule that is not linked to your invoices.
+
+In such cases, you can use the Payment to Invoice Matching Tool.
+
+> Accounts > Payment Reconciliation
+
+In this tool, you can select an account (your Customer’s account) and click on “Pull Payment Entries” and it will select all un-linked Journal Vouchers and Sales Invoices from that Customer.
+
+To cancel off some payments and invoices, select the Invoices and Journal Vouchers and click on “Reconcile”.
\ No newline at end of file
diff --git a/docs/docs.user.ops.accounts.pos.md b/docs/docs.user.ops.accounts.pos.md
new file mode 100644
index 0000000..a4ca430
--- /dev/null
+++ b/docs/docs.user.ops.accounts.pos.md
@@ -0,0 +1,44 @@
+---
+{
+ "_label": "Point of Sale (POS) Invoice"
+}
+---
+For retail operations, the delivery of goods, accrual of sale and payment all happens in one event, that is usually called the “Point of Sale”.
+
+You can make a Sales Invoice of type POS by checking on “Is POS”. When you check this, you will notice that some fields get hidden and some new ones emerge.
+
+> Tip: In retail, you may not create a separate Customer record for each customer. You can create a general Customer called “Walk-in Customer” and make all your transactions against this Customer record.
+
+#### Different sections of the POS
+
+- Update Stock: If this is checked, Stock Ledger Entries will be made when you “Submit” this Sales Invoice and there is no need for a separate Delivery Note.
+- In your Items table, you will also have to update inventory information like “Warehouse” (can come as default), “Serial Number” or “Batch Number” if applicable.
+- Update “Payment Details” like your Bank / Cash Account, paid amount etc.
+- If you are writing off certain amount, for example change or you get extra change, check on “Write off Outstanding Amount” and set the Account.
+
+#### POS Settings
+
+If you are in retail operations, you want your Point of Sale to be as quick and efficient as possible. To do this, you can create a POS Setting for a user from:
+
+Accounts > Point of Sale (POS) Setting
+
+and set default values as defined.
+
+---
+
+#### Accounting entries (GL Entry) for a Point of Sale:
+
+Debits:
+
+- Customer (grand total)
+- Bank / Cash (payment)
+
+Credits:
+
+- Income (net total, minus taxes for each Item)
+- Taxes (liabilities to be paid to the government)
+- Customer (payment)
+- Write Off (optional)
+
+To see entries after “Submit”, click on “View Ledger”.
+
diff --git a/docs/docs.user.ops.accounts.purchase_invoice.md b/docs/docs.user.ops.accounts.purchase_invoice.md
new file mode 100644
index 0000000..53bf8fb
--- /dev/null
+++ b/docs/docs.user.ops.accounts.purchase_invoice.md
@@ -0,0 +1,53 @@
+---
+{
+ "_label": "Purchase Invoice"
+}
+---
+Purchase Invoice is the exact opposite of your Sales Invoice. It is the bill that your Supplier sends your for products or services delivered. Here you accrue expenses to your Supplier. Making a Purchase Invoice is very similar to making a Purchase Order.
+
+To make a new Purchase Invoice, go to:
+
+> Accounts > Purchase Invoice > New Purchase Invoice
+
+or click on “Make Purchase Invoice” in Purchase Order or Purchase Receipt.
+
+The concept of “Posting Date” is again same as Sales Invoice. “Bill No” and “Bill Date” help you track the bill number as set by your Supplier for reference.
+
+#### Accounting Impact
+
+Like in Sales Invoice, you have to enter an Expense or Asset account for each row in your Items table to indicate if the Item is an Asset or an Expense. You must also enter a Cost Center. These can also be set in the Item master.
+
+The Purchase Invoice will affect your accounts as follows:
+
+Accounting entries (GL Entry) for a typical double entry “purchase”:
+
+Debits:
+
+- Expense or Asset (net totals, excluding taxes)
+- Taxes (assets if VAT-type or expense again).
+
+Credits:
+
+- Supplier
+
+To see entries in your Purchase Invoice after you “Submit”, click on “View Ledger”.
+
+---
+
+#### Is a purchase an “Expense” or “Asset”?
+
+If the Item is consumed immediately on purchase or if it is a service, then the purchase becomes an “Expense”. For example, a telephone bill or travel bill is an “Expense” - it is already consumed.
+
+For inventory Items, that have a value, these purchases are not yet “Expense”, because they still have a value while they remain in your stock. They are “Assets”. If they are raw-materials (used in a process), they will become “Expense” the moment they are consumed in the process. If they are to be sold to a Customer, the become “Expense” when you ship them to the Customer.
+
+Note: In ERPNext, this conversion from “Asset” to “Expense” is not clear. As of the current version, you will have to manually convert an item from an “Asset” to “Expense” via a Journal Voucher. We know its a shortcoming and will be fixed in an upcoming version pretty soon.
+
+---
+
+#### Deducting Taxes at Source
+
+In many countries, your laws may require to deduct taxes by a standard rate when you make payments to your Suppliers. Under these type of schemes, typically if a Supplier crosses a certain threshold of payment and if the type of product is taxable, you may have to deduct some tax (that you pay back to your government, on your Supplier’s behalf).
+
+To do this, you will have to make a new Tax Account under “Tax Liabilities” or similar and credit this Account by the percent you are bound to deduct for every transaction.
+
+For more help, please contact your Accountant!
\ No newline at end of file
diff --git a/docs/docs.user.ops.accounts.reports.md b/docs/docs.user.ops.accounts.reports.md
new file mode 100644
index 0000000..915808b
--- /dev/null
+++ b/docs/docs.user.ops.accounts.reports.md
@@ -0,0 +1,31 @@
+---
+{
+ "_label": "Reports"
+}
+---
+Some of the major accounting reports are:
+
+### General Ledger
+
+General Ledger is based on the table GL Entry and can be filtered by Account and between a period. This will help you get a full update for all entries done in that period for that Account.
+
+### Trial Balance
+
+Trial Balance is the list of Account balances for all your Accounts (“Ledger” and “Group”) on a particular date. For each Account it will give you the:
+
+- Opening
+- Debits
+- Credits
+- Closing
+
+The sum of all closing balances in a Trial Balance must be zero.
+
+### Accounts Payable and Accounts Receivable (AP / AR)
+
+These reports help you track the outstanding invoices to Customer and Suppliers. In this report, you will get your outstanding amounts period wise. i.e. between 0-30 days, 30-60 days and so on.
+
+You can also get your payables and receivables from direct reports on Sales Invoice and Purchase Invoice.
+
+### Sales and Purchase Register
+
+This is useful for making your tax statements invoice and Item wise. In this report, each tax Account is transposed in columns and for each Invoice and invoice Item, you will get how much individual tax has been paid based on the Taxes and Charges table.
diff --git a/docs/docs.user.ops.accounts.returns.md b/docs/docs.user.ops.accounts.returns.md
new file mode 100644
index 0000000..697c235
--- /dev/null
+++ b/docs/docs.user.ops.accounts.returns.md
@@ -0,0 +1,30 @@
+---
+{
+ "_label": "Handling Returns"
+}
+---
+Returns are a part of doing business. Your Customers may return Items in exchange of other Items or money back or you may return Items to your Supplier. In each case there could be a variety of scenarios.
+
+### Credit and Debit Notes
+
+Credit Notes are given to your Customers against a return that can be redeemed as cash or adjusted in another purchase. You can create a Journal Voucher of type Credit Note as follows:
+
+- Debit: Income
+- Credit: Customer
+
+Similarly if you are deducting an amount from your Supplier’s bill due to rejection or similar, you can issue a Debit Note to your Supplier. You can adjust the Debit Note against another pending Purchase Invoice (in which case, remember to set the “Against Purchase Invoice” column or return the money. In the second case you will have to create a new payment entry (Journal Voucher) when you receive the money. Entry for a Debit Note would be:
+
+- Debit: Supplier
+- Credit: Expense
+
+> If Items are also returned, remember to make a Delivery Note or Stock Entry for the Items.
+
+### Exchange
+
+If there is an exchange with your Customer, you can create a new POS type Sales Invoice in which the returning item has a negative quantity and the selling item has a positive quantity. In this way your taxes will also be adjusted against the return.
+
+### Sales and Purchase Return Wizard
+
+This is a tool that can help you automate the entry for this process. Go to:
+
+> Accounts > Tools > Sales and Purchase Return
\ No newline at end of file
diff --git a/docs/docs.user.ops.accounts.sales_invoice.md b/docs/docs.user.ops.accounts.sales_invoice.md
new file mode 100644
index 0000000..383ddf8
--- /dev/null
+++ b/docs/docs.user.ops.accounts.sales_invoice.md
@@ -0,0 +1,56 @@
+---
+{
+ "_label": "Sales Invoice"
+}
+---
+A Sales Invoice is a bill you send to your Customers against which they will process your payment.
+
+If you have managed to create Sales Orders or Delivery Notes, creating a Sales Invoice should be more of the same.
+
+You can create a Sales Invoice directly from
+
+> Accounting > Sales Invoice > New Sales Invoice
+
+or from the “Make Sales Invoice” button in the Sales Order or Delivery Note.
+
+#### Accounting Impact
+
+All Sales must be booked against an “Income Account”. This refers to an Account in the “Income” section of your Chart of Accounts. It is a good practice to classify your income by type (like product income, service income etc). The Income Account must be set for each row of the Items table.
+
+> Tip: To set default Income Accounts for Items, you can set it in the Item or Item Group.
+
+The other account that is affected is the Account of the Customer. That is automatically set from “Debit To” in the heading section.
+
+You must also mention the Cost Centers in which your Income must be booked. Remember that your Cost Centers tell you the profitability of the different lines of business or product. Again, you can set a default Cost Center in your Item master.
+
+#### Accounting entries (GL Entry) for a typical double entry “Sale”:
+
+When booking a sale (accrual):
+
+**Debit:** Customer (grand total)
+**Credit:** Income (net total, minus taxes for each Item)
+**Credit:** Taxes (liabilities to be paid to the government)
+
+> To see entries in your Sales Invoice after you “Submit”, click on “View Ledger”.
+
+#### Dates
+
+Posting Date: The date on which the Sales Invoice will affect your books of accounts i.e. your General Ledger. This will affect all your balances in that accounting period.
+
+Due Date: The date on which the payment is due (if you have sold on credit). This can be automatically be set from the Customer master.
+
+#### Recurring Invoices
+
+If you have a contract with a Customer where you bill the Customer on a monthly, quarterly, half-yearly or annual basis, you can check the “Recurring Invoice” box. Here you can fill in the details of how frequently you want to bill this Invoice and the period for which the contract is valid.
+
+ERPNext will automatically create new Invoices and mail it to the email ids you set.
+
+---
+
+#### "Pro Forma" Invoice
+
+If you want to give an Invoice to a Customer to make a payment before you deliver, i.e. you operate on a payment first basis, you should create a Quotation and title it as a “Pro-forma Invoice” (or something similar) using the Print Heading feature.
+
+“Pro Forma” means for formality. Why do this? Because if you book a Sales Invoice it will show up in your “Accounts Receivable” and “Income”. This is not ideal as your Customer may or may not decide to pay up. But since your Customer wants an “Invoice”, you could give the Customer a Quotation (in ERPNext) titled as “Pro Forma Invoice”. This way everyone is happy.
+
+This is a fairly common practice. We follow this at Web Notes too.
diff --git a/docs/docs.user.ops.buying.material_request.md b/docs/docs.user.ops.buying.material_request.md
new file mode 100644
index 0000000..f25f0ba
--- /dev/null
+++ b/docs/docs.user.ops.buying.material_request.md
@@ -0,0 +1,31 @@
+---
+{
+ "_label": "Material Request"
+}
+---
+A Material Request is a simple document identifying a requirement of a set of Items (products or services) for a particular reason.
+
+A Material Request can be generated:
+
+- By a User.
+- Automatically from a Sales Order.
+- Automatically when the Projected Quantity (more on this later) of an Item in stores reaches a particular level.
+- Automatically from your Bill of Materials if you use Production Plan to plan your manufacturing. (more on this later too)
+
+To generate a Material Request manually go to:
+
+> Buying > Material Request > New Material Request
+
+In the Material Request form,
+
+- Fill in the Items you want and their quantities.
+- If your Items are inventory items, you must also mention the Warehouse where you expect these Items to be delivered to. This helps you keep track of Projected Quantity for this Item.
+- You can also automatically get the Items from a Sales Order.
+- You can optionally add the Terms, using the Terms and Conditions master and also the reason.
+
+> Info: Material Request is not mandatory. It is ideal if you have centralized buying so that you can collect this information from various departments.
+
+#### Authorization
+
+If you want your Material Request to be authorized by a senior person like a Purchase Manger then you can give “Submit” rights to only that person. So everyone can create requests, but only the authorized person can “Submit”.
+
diff --git a/docs/docs.user.ops.buying.md b/docs/docs.user.ops.buying.md
new file mode 100644
index 0000000..e54e1fc
--- /dev/null
+++ b/docs/docs.user.ops.buying.md
@@ -0,0 +1,15 @@
+---
+{
+ "_label": "Buying",
+ "_toc": [
+ "docs.user.ops.buying.material_request",
+ "docs.user.ops.buying.supplier_quotation",
+ "docs.user.ops.buying.purchase_order"
+ ]
+}
+---
+If your business involves physical goods, buying is on of your core business activities. Your suppliers are as important as your customers and they must be provided with as much accurate information as possible.
+
+Buying in right amounts at right quantities can affect your cash flow and profitability.
+
+ERPNext contains a set of transactions that will make your buying as efficient and seamless as possible.
diff --git a/docs/docs.user.ops.buying.purchase_order.md b/docs/docs.user.ops.buying.purchase_order.md
new file mode 100644
index 0000000..891bca3
--- /dev/null
+++ b/docs/docs.user.ops.buying.purchase_order.md
@@ -0,0 +1,30 @@
+---
+{
+ "_label": "Purchase Order"
+}
+---
+A Purchase Order is analogous to a Sales Order. It is usually a binding contract with your Supplier that you promise to buy this set of Items under the given conditions.
+
+In ERPNext, you can make a Purchase Order by going to:
+
+> Buying > Purchase Order > New Purchase Order
+
+A Purchase Order can also be automatically created from a Purchase Request or Supplier Quotation.
+
+Entering a Purchase Order is very similar to a Purchase Request, additionally you will have to set:
+
+- Supplier.
+- A “Required By” date on each Item: If you are expecting part delivery, your Supplier will know how much quantity to deliver at what date. This will help you from preventing over-supply. It will also help you track how well your Supplier is doing on timeliness.
+
+### Taxes
+
+If your Supplier is going to charge you additional taxes or charge like a shipping or insurance charge, you can add it here. It will help you to accurately track your costs. Also if some of these charges add to the value of the product you will have to mention in the Taxes table. You can also you templates for your taxes. For more information on setting up your taxes see the Purchase Taxes and Charges Master.
+
+
+### Value Added Taxes (VAT)
+
+Many times, the tax paid by you to a Supplier for an Item is the same tax you collect from your Customer. In many regions, what you pay to your government is only the difference between what you collect from your Customer and pay to your Supplier. This is called Value Added Tax (VAT).
+
+For example you buy Items worth X and sell them for 1.3X. So your Customer pays 1.3 times the tax you pay your Supplier. Since you have already paid tax to your Supplier for X, what your owe your government is only the tax on 0.3X.
+
+This is very easy to track in ERPNext since each tax head is also an Account. Ideally you must create two Accounts for each type of VAT you pay and collect, “Purchase VAT-X” (asset) and “Sales VAT-X” (liability), or something to that effect. Please contact your accountant if you need more help or post a query on our forums!
\ No newline at end of file
diff --git a/docs/docs.user.ops.buying.supplier_quotation.md b/docs/docs.user.ops.buying.supplier_quotation.md
new file mode 100644
index 0000000..19a86e7
--- /dev/null
+++ b/docs/docs.user.ops.buying.supplier_quotation.md
@@ -0,0 +1,17 @@
+---
+{
+ "_label": "Supplier Quotation"
+}
+---
+If you have multiple **Suppliers** who supply you with the same **Item**, you usually send out a message (Request for Quote) to various **Suppliers**. In many cases, again specially if you have centralized buying, you may want to record all the quotes so that
+
+- You can easily compare prices in the future
+- Audit whether all Suppliers were given the opportunity to quote.
+
+Supplier Quotations are not necessary for most small businesses. Always evaluate the cost of collecting information to the value it provides! You could only do this for high value items.
+
+You can make a Supplier Quotation directly from:
+
+> Buying > Supplier Quotation > New Supplier Quotation
+
+or directly from the Purchase Request.
diff --git a/docs/docs.user.ops.hr.appraisal.md b/docs/docs.user.ops.hr.appraisal.md
new file mode 100644
index 0000000..e5bf7ff
--- /dev/null
+++ b/docs/docs.user.ops.hr.appraisal.md
@@ -0,0 +1,10 @@
+---
+{
+ "_label": "Appraisal"
+}
+---
+In ERPNext, you can manage Employee Appraisals by creating an Appraisal Template for each role with the parameters that define the performance and giving a weight to each parameter.
+
+Once the Appraisal Template is completed, you can create Appraisal records for each period where you track performance. You can give points out of 5 for each parameter and the system will calculate the overall performance of the Employee.
+
+To make the Appraisal final, make sure to “Submit” it.
\ No newline at end of file
diff --git a/docs/docs.user.ops.hr.employee.md b/docs/docs.user.ops.hr.employee.md
new file mode 100644
index 0000000..a3f065d
--- /dev/null
+++ b/docs/docs.user.ops.hr.employee.md
@@ -0,0 +1,24 @@
+---
+{
+ "_label": "Employee Master"
+}
+---
+There are many fields you can add in your Employee records and the more information you update it will be useful as your organization keeps growing and more and more people come and go.
+
+Employee records also help in keeping a list of your team’s skills, previous employment history and also emergency information.
+
+To create new Employee go to:
+
+> HR > Employee > New Employee
+
+### Numbering Employees (Employee ID)
+
+By default, in ERPNext Employee Records are Numbered. You can have multiple series if you are a really large company and want to have separate numbering series for separate locations etc. You can set the numbering series just like any other transaction by going to:
+
+> Setup > Customize ERPNext > Numbering Series.
+
+Alternatively, you can create employees by the “Employee Number” field if you already have an existing Employee Numbering system you want to follow. To set this, go to
+
+> Setup > Global Defaults > HR
+
+and update the “Employee Records created by” field.
\ No newline at end of file
diff --git a/docs/docs.user.ops.hr.expense_claim.md b/docs/docs.user.ops.hr.expense_claim.md
new file mode 100644
index 0000000..fa6e847
--- /dev/null
+++ b/docs/docs.user.ops.hr.expense_claim.md
@@ -0,0 +1,24 @@
+---
+{
+ "_label": "Expense Claim"
+}
+---
+When Employee’s make expenses out their pocket on behalf of the company, like if they took a customer out for lunch, they can make a request for reimbursement via the Expense Claim form.
+
+To make a new Expense Claim, go to:
+
+> HR > Expense Claim > New Expense Claim
+
+Set the Employee ID, date and the list of expenses that are to be claimed and “Submit” the record.
+
+### Approving Expenses
+
+The person making the claim must also set the id of the user who will “Approve” these expenses and set the “Assign To” to notify the user of the request Approve.
+
+If the Approver sees the “form”, she or he can update the “Approved Amounts” and click on “Approve”. To cancel the claim, they can click on the “Reject” button.
+
+Comments can be added in the Comments section explaining why the claim was approved or rejected.
+
+### Booking the Expense and Reimbursement
+
+The approved Expense Claim must be then be converted into a Journal Voucher and a payment must be made. Note: This amount should not be clubbed with Salary because the amount will then be taxable to the Employee.
diff --git a/docs/docs.user.ops.hr.leave.md b/docs/docs.user.ops.hr.leave.md
new file mode 100644
index 0000000..3dc8bb1
--- /dev/null
+++ b/docs/docs.user.ops.hr.leave.md
@@ -0,0 +1,31 @@
+---
+{
+ "_label": "Leave and Attendance"
+}
+---
+
+An Attendance record stating that an Employee has been present on a particular day can be created either manually by:
+
+> HR > Attendance > New Attendance
+
+Or if you are collecting attendance information via an automated system like a swipe card, then you can upload a CSV file with the attendance information.
+
+You can get a monthly report of your Attendance data by going to the “Monthly Attendance Details” report.
+
+To upload the attendance go to:
+
+> HR > Upload Attendance (sidebar)
+
+---
+
+### Leave Allotment
+
+Fixed number of leaves per Employee can be allocated using the Leave Allocation Tool. If you have special leaves to be allocated, you can also allocate them manually by create new Leave Allocation records.
+
+---
+
+### Leave Application
+
+If your company has a formal system where Employees have to apply for leaves and only if their leaves are approved they are considered as paid leaves, you can create Leave Application to track approval and usage of leaves. You have to mention the Employee, Leave Type and the period for which the leave is taken. If you want only certain users to approve leaves, you can give “Submission” rights to those users only.
+
+If you want all users to create their own Leave Applications, you can set their “Employee ID” as a match rule in the Leave Application Permission settings. See the earlier discussion on permission settings for more info.
diff --git a/docs/docs.user.ops.hr.md b/docs/docs.user.ops.hr.md
new file mode 100644
index 0000000..95da44a
--- /dev/null
+++ b/docs/docs.user.ops.hr.md
@@ -0,0 +1,20 @@
+---
+{
+ "_label": "Human Resource Management",
+ "_toc": [
+ "docs.user.ops.hr.setup",
+ "docs.user.ops.hr.employee",
+ "docs.user.ops.hr.leave",
+ "docs.user.ops.hr.expense_claim",
+ "docs.user.ops.hr.payroll",
+ "docs.user.ops.hr.appraisal"
+ ]
+}
+---
+The Human Resources (HR) Module covers the processes linked to administering a team of co-workers. Most common among this is processing payroll by using the Salary Manager to generate Salary Slips. Most countries have complex tax rules stating what expenses can the company made on behalf of Employees and also expect the company to deduct taxes and social security from their payroll.
+
+Apart from that you can also track Leave Applications and balances, Expense Claims and upload Attendance data (even though the world has moved to a result-oriented culture, some countries still mandate companies to maintain an attendance register to ensure you are not over-working your team).
+
+You can also create a template for Appraisals and also record the performance using the Appraisal record.
+
+> Confession: No, we don’t like the terms human “resources” and “employees” either, but since this terms are widely used and accepted for administrative procedures, we will use them here.
\ No newline at end of file
diff --git a/docs/docs.user.ops.hr.payroll.md b/docs/docs.user.ops.hr.payroll.md
new file mode 100644
index 0000000..a2ad250
--- /dev/null
+++ b/docs/docs.user.ops.hr.payroll.md
@@ -0,0 +1,54 @@
+---
+{
+ "_label": "Salary and Payroll"
+}
+---
+To process Payroll in ERPNext,
+
+1. Create Salary Structures for all Employees.
+1. Generate Salary Slips via the Salary Manager Tool.
+1. Book the Salary in your Accounts.
+
+### Salary Structure
+
+The Salary Structure represents how Salaries are calculated based on Earnings and Deductions. To create a new Salary Structure go to:
+
+> HR > Salary and Payroll > Salary Structure > New Salary Structure
+
+### In the Salary Structure,
+
+- Select the Employee
+- Set the starting date from which this is valid (Note: There can only be one Salary Structure that can be “Active” for an Employee during any period)
+- In the “Earnings” and “Deductions” table all your defined Earning Type and Deductions Type will be auto-populated. Set the values of the Earnings and Deductions and save the Salary Structure.
+
+### Leave Without Pay (LWP)
+
+Leave Without Pay (LWP) happens when an Employee runs out of allocated leaves or takes a leave without an approval (via Leave Application). If you want ERPNext to automatically deduct salary in case of LWP, then you must check on the “Apply LWP” column in the Earning Type and Deduction Type masters. The amount of pay cut is the proportion of LWP days divided by the total working days for the month (based on the Holiday List).
+
+If you don’t want ERPNext to manage LWP, just don’t click on LWP in any of the Earning Types and Deduction Types.
+
+---
+
+### Creating Salary Slips
+
+Once the Salary Structure is created, you can process your payroll for the month using the Salary Manager
+
+> HR > Salary and Payroll > Process Payroll
+
+In the Salary Manager tool,
+
+1. Select the Company for which you want to create the Salary Slips.
+1. Select the Month and the Year for which you want to create the Salary Slips.
+1. Click on “Create Salary Slips”. This will create Salary Slip records for each active Employee for the month selected. If the Salary Slips are created, the system will not create any more Salary Slips. All updates will be shown in the “Activity Log” section.
+1. Once all Salary Slips are created, you can check if they are created correctly or edit it if you want to deduct Leave Without Pay (LWP).
+1. After checking, you can “Submit” them all together by clicking on “Submit Salary Slips”. 1. If you want them to be automatically emailed to the Employee, make sure to check the “Send Email” box.
+
+### Booking Salaries in Accounts
+
+The final step is to book the Salaries in your Accounts.
+
+Salaries in businesses are usually dealt with extreme privacy. In most cases, the companies issues a single payment to the bank combining all salaries and the bank distributes the salaries to each employee’s salary account. This way there is only one payment entry in the company’s books of accounts and anyone with access to the company’s accounts will not have access to the individual salaries.
+
+The salary payment entry is a Journal Voucher entry that debits the total salary of all Employees to the Salary Account and credits the company’s bank Account.
+
+To generate your salary payment voucher from the Salary Manager, click on “Make Bank Voucher” and a new Journal Voucher with the total salaries will be created.
\ No newline at end of file
diff --git a/docs/docs.user.ops.hr.setup.md b/docs/docs.user.ops.hr.setup.md
new file mode 100644
index 0000000..a796c36
--- /dev/null
+++ b/docs/docs.user.ops.hr.setup.md
@@ -0,0 +1,32 @@
+---
+{
+ "_label": "Human Resource Setup"
+}
+---
+The HR module has a setup process where you create the masters for all the major activities.
+
+### Organization Setup
+
+To setup your Employee master you must first create:
+
+- Employment Type (like Permanent, Temp, Contractor, Intern etc).
+- Branch (if there are multiple offices).
+- Department (if any, like Accounting, Sales etc).
+- Designation (CEO, Sales Manager etc).
+- Grade (A, B, C etc, usually based on seniority).
+
+### Leave Setup
+
+To setup Leaves, create:
+
+- Leave Type (like Sick Leave, Travel Leave etc)
+- Holiday List (list of annual holidays for the year - these days will not be considered in Leave Applications).
+
+### Payroll (Salary) Setup
+
+In ERPNext, salaries have two types of components, earnings (basic salary, expenses paid by the company, like telephone bill, travel allowance etc) and deductions (amounts deducted for taxes, social security etc). To setup payroll, you must first setup all the different types of earnings and deductions. These are
+
+- Earning Type
+- Deduction Type
+
+These are just labels, we will see how to use them when we discuss the payroll section.
diff --git a/docs/docs.user.ops.inventory.delivery_note.md b/docs/docs.user.ops.inventory.delivery_note.md
new file mode 100644
index 0000000..447d2db
--- /dev/null
+++ b/docs/docs.user.ops.inventory.delivery_note.md
@@ -0,0 +1,43 @@
+---
+{
+ "_label": "Delivery Note"
+}
+---
+A Delivery Note is made when a shipment is shipped from the company’s Warehouse.
+
+A copy of the Delivery Note is usually sent with the transporter. The Delivery Note contains the list of Items that are sent in the shipment and updates the inventory.
+
+The entry of the Delivery Note is very similar to a Purchase Receipt. You can create a new Delivery Note from:
+
+> Stock > Delivery Note > New Delivery Note
+
+or from a “Submitted” Sales Order (that is not already shipped) by clicking on “Make Delivery Note”.
+
+You can also “fetch” the details from an unshipped Sales Order.
+
+You will notice that all the information about unshipped Items and other details are carried over from your Sales Order.
+
+### Shipping Packets or Items with Sales BOM
+
+If you are shipping Items that have a Sales BOM, ERPNext will automatically create a “Packing List” table for you based on the sub-Items in that Item. (See the Item explanation for more information).
+
+If your Items are serialized, then you for Sales BOM type of Items, you will have to update the Serial Number in the “Packing List” table.
+
+### Packing Items in to Cases for Container Shipment
+
+If you are doing container shipment or by weight, then you can use the Packing Slip to breakup your Delivery Note into smaller units. To make a Packing Slip go to:
+
+Stock > Packing Slip > New Packing Slip
+
+You can create multiple Packing Slips for your Delivery Note and ERPNext will ensure that the quantities in the Packing Slip do not exceed the quantities in the Delivery Note.
+
+---
+
+#### Print Without Amounts
+
+If you want to print your Delivery Notes without the amount (this might be useful if you are shipping high value items), just check the “Print without Amount” box in the “More Info” section.
+
+#### What happens when the Delivery Note is “Submitted”?
+
+A Stock Ledger Entry is made for each Item and stock is updated.
+Pending Quantity in the Sales Order is updated (if applicable).
diff --git a/docs/docs.user.ops.inventory.md b/docs/docs.user.ops.inventory.md
new file mode 100644
index 0000000..4576f24
--- /dev/null
+++ b/docs/docs.user.ops.inventory.md
@@ -0,0 +1,41 @@
+---
+{
+ "_label": "Inventory",
+ "_toc": [
+ "docs.user.ops.inventory.purchase_receipt",
+ "docs.user.ops.inventory.delivery_note",
+ "docs.user.ops.inventory.stock_entry",
+ "docs.user.ops.inventory.sub_contracting",
+ "docs.user.ops.inventory.serialized"
+ ]
+}
+---
+For most small business that deal in physical goods, a large part of their net worth is invested in the stock in hand.
+
+### Best Practice
+
+There are two aspects to good material management:
+
+- **Good housekeeping / visual control:** Keep all your items in separate bins and each neatly stacked and labelled.
“A place for everything and everything in its place”
+- **Accurate Data:** Accurate data comes from good processes and recording each and every transaction. If you are only partially recording your inventory then your reports will be incorrect
“Garbage In Garbage Out”
+
+If you have good processes to control movement of goods within your organization, implementation in ERPNext will be a breeze.
+
+### Material Flow
+
+There are three main types of entries:
+
+- Purchase Receipt: Items received from Suppliers against Purchase Orders.
+- Stock Entry: Items transferred from one Warehouse to another.
+- Delivery Note: Items shipped to Customers.
+
+#### How does ERPNext track stock movement / levels?
+
+Tracking stock is not just about adding and subtracting quantities. Some complications arise when:
+
+- Back-dated (past) entries are made / edited: This affects future stock levels and may lead to negative stock.
+- Stock has to be valued based on First-in-First-out: ERPNext needs to maintain a sequence of all transactions to know the exact value of your Items.
+- Stock reports are required at any point in time in the past: You have to lookup what was the quantity / value your stock of Item X on date Y.
+
+To manage this, ERPNext collects all inventory transactions in a table called the Stock Ledger Entry. All Purchase Receipts, Stock Entries and Delivery Notes update this table.
+
diff --git a/docs/docs.user.ops.inventory.purchase_receipt.md b/docs/docs.user.ops.inventory.purchase_receipt.md
new file mode 100644
index 0000000..eab703c
--- /dev/null
+++ b/docs/docs.user.ops.inventory.purchase_receipt.md
@@ -0,0 +1,54 @@
+---
+{
+ "_label": "Purchase Receipt"
+}
+---
+Purchase Receipts are made when you accept material from your Supplier usually against a Purchase Order.
+
+You can also accept Purchase Receipts directly (you must set Purchase Order Required as “No” in Global Defaults).
+
+You can make a Purchase Receipt directly from:
+
+> Stock > Purchase Receipt > New Purchase Receipt
+
+or from a “Submitted” Purchase Order, by clicking on “Make Purchase Receipt”.
+
+### Rejections
+
+In the Purchase Receipt, you will need to enter if all the materials you receive are of accepted quality (if you check). If you have any rejections, update the “Rejected Quantity” column in the Items table.
+
+If you reject, you will need to enter a “Rejected Warehouse” to indicate where you are storing the rejected Items.
+
+### Quality Inspections
+
+If for certain Items it is mandatory for your to record Quality Inspections (you have set it in your Item master), you will need to update the “Quality Inspection No” (QA No) column. The system will only allow you to “Submit” the Purchase Receipt if you update the “Quality Inspection No”.
+
+### UOM Conversions
+
+If your Purchase Order for an Item is in a different Unit of Measure (UOM) than what you stock (Stock UOM), then you will need to update the “UOM Conversion Factor”. See the Item settings for more information.
+
+### Currency Conversions
+
+Since the incoming Item affects the value of your inventory, it is important to convert it into your base Currency if you have ordered in another Currency. You will need to update the Currency Conversion Rate if applicable.
+
+### Taxes and Valuation
+
+Some of your taxes and charges may affect your Items value. For example a Tax may not be added to your Item’s valuation, because if you sell the Item, you will have to add the tax at that time. So make sure to mark all your taxes in the Taxes and Charges table correctly for accurate valuation.
+
+### Serial Numbers and Batches
+
+If your Item is serialized or batched, you will have to enter Serial Number and Batch in the Items table. You are allowed to enter multiple Serial Numbers in one row (each on a separate line) and you must enter the same number of Serial Numbers as the quantity. You must enter each Batch number on a separate line.
+
+---
+
+#### What happens when the Purchase Receipt is “Submitted”?
+
+A Stock Ledger Entry is created for each Item adding the Item in the Warehouse by the “Accepted Quantity”
+If you have rejections, a Stock Ledger Entry is made for each Rejection.
+The “Pending Quantity” is updated in the Purchase Order.
+
+---
+
+#### Adding value to your Items post Purchase Receipt:
+
+Some times, certain expenses that add value to your purchased Items are known only after sometime. Common example is if you are importing the Items, you will come to know of Customs Duty etc only when your “Clearing Agent” sends you a bill. If you want to attribute this cost to your purchased Items, you will have to use the Landed Cost Wizard. Why “Landed Cost”? Because it represents the charges that you paid when it landed in your possession.
\ No newline at end of file
diff --git a/docs/docs.user.ops.inventory.serialized.md b/docs/docs.user.ops.inventory.serialized.md
new file mode 100644
index 0000000..bc5d33e
--- /dev/null
+++ b/docs/docs.user.ops.inventory.serialized.md
@@ -0,0 +1,25 @@
+---
+{
+ "_label": "Serialized Inventory"
+}
+---
+As we discussed in the **Item** section, if an **Item** is *serialized*, a **Serial Number** (Serial No) record is maintained for each quantity of that **Item**. This information is helpful in tracking the location of the Serial No, its warranty and end-of-life (expiry) information.
+
+**Serial Nos** are also useful to maintain fixed assets. **Maintenance Schedules** can also be created against serial numbers for planning and scheduling maintenance activity for these assets (if they require maintenance).
+
+You can also track from which **Supplier** your purchased the **Serial No** and to which **Customer** you have sold it. The **Serial No** status will tell you its current inventory status.
+
+If your Item is *serialized* you will have to enter the Serial Nos in the related column with each Serial No in a new line.
+
+### Importing and Updating Serial Nos
+
+Serial Nos cannot be imported from Stock Reconciliation. To import Serial Nos, you will have to use the Data Import Tool. When you import the Serial Nos, the stock level of its corresponding Item will be automatically updated.
+
+
+### Using Serial Numbers for Multiple Purposes
+
+Serial Nos are a useful tool for tracking different kinds of Items, by using it along with Custom Fields. For example, in our internal system at Web Notes, each ERP account is a Serial No, with type of user “Plan” as the Item, its expiry date, whether it is Trial or Paid and other details as Custom Fields.
+
+We have known customers who use Serial Nos to track fixed assets, real-estate properties or advertisement slots or library books!
+
+Since Serial Nos are deeply linked with all the core modules, Selling, Buying, Inventory and Accounting, you may find many uses for them.
\ No newline at end of file
diff --git a/docs/docs.user.ops.inventory.stock_entry.md b/docs/docs.user.ops.inventory.stock_entry.md
new file mode 100644
index 0000000..848db39
--- /dev/null
+++ b/docs/docs.user.ops.inventory.stock_entry.md
@@ -0,0 +1,23 @@
+---
+{
+ "_label": "Stock Entry"
+}
+---
+A Stock Entry is a simple document that lets you record Item movement from a Warehouse, to a Warehouse and between Warehouses.
+
+This can be useful in also tracking:
+
+- Material Issues from Stores
+- Sales and Purchase Returns
+- Production (manufacturing).
+
+We will look into the special features of the Stock Entry later when we discuss Accounting and Manufacturing processes.
+
+To make a Stock Entry you have to go to:
+
+> Stock > Stock Entry
+
+In the Stock Entry you have to update the Items table with all your transactions. For each row, you must enter a “Source Warehouse” or a “Target Warehouse” or both (if you are recording a movement).
+
+> **Note:** To update Stock from a spreadsheet, see Stock Reconciliation.
+
diff --git a/docs/docs.user.ops.inventory.sub_contracting.md b/docs/docs.user.ops.inventory.sub_contracting.md
new file mode 100644
index 0000000..5d66227
--- /dev/null
+++ b/docs/docs.user.ops.inventory.sub_contracting.md
@@ -0,0 +1,18 @@
+---
+{
+ "_label": "Subcontracting"
+}
+---
+If you business involves outsourcing certain processes to a third party Supplier, where you buy the raw material, you can track this by using the sub-contracting feature of ERPNext.
+
+To setup sub-contracting:
+
+1. Create separate Items for the unprocessed and the processed product. For example if you supply unpainted X to your Supplier and the Supplier returns you X, you can create two Items: “X-unpainted” and “X”.
+1. Create a Warehouse for your Supplier so that you can keep track of Items supplied. (you may supply a month’s worth of Items in one go).
+1. For the processed Item, in the Item master set “Is Sub Contracted Item” to “Yes”.
+1. Make a Bill of Materials for the processed Item, with the unprocessed Items as a sub-items.
+1. Make a Purchase Order for the processed Item. When you “Save”, in the “Raw Materials Detail”, all your un-processed Items will be updated based on your Bill of Materials.
+ 1. Make sure that the “Rate” of this Item is the processing rate (excluding the raw material rate).
+ 1. ERPNext will automatically add the raw material rate for your valuation purpose when you receive the finished Item in your stock.
+1. Make a Stock Entry to deliver the raw material Items to your Supplier.
+1. Receive the Items from your Supplier via Purchase Receipt. Make sure to check the “Consumed Quantity” in the “Raw Materials” table so that the correct stock is maintained at the Supplier’s end.
diff --git a/docs/docs.user.ops.md b/docs/docs.user.ops.md
new file mode 100644
index 0000000..37d6026
--- /dev/null
+++ b/docs/docs.user.ops.md
@@ -0,0 +1,15 @@
+---
+{
+ "_label": "Managing Operations in ERPNext",
+ "_toc": [
+ "docs.user.ops.selling",
+ "docs.user.ops.buying",
+ "docs.user.ops.inventory",
+ "docs.user.ops.accounts",
+ "docs.user.ops.mfg",
+ "docs.user.ops.projects",
+ "docs.user.ops.support",
+ "docs.user.ops.hr"
+ ]
+}
+---
\ No newline at end of file
diff --git a/docs/docs.user.ops.mfg.bom.md b/docs/docs.user.ops.mfg.bom.md
new file mode 100644
index 0000000..7d1085d
--- /dev/null
+++ b/docs/docs.user.ops.mfg.bom.md
@@ -0,0 +1,20 @@
+---
+{
+ "_label": "Bill of Materials"
+}
+---
+At the heart of the Manufacturing system is the **Bill of Materials** (BOM). The **BOM** is a list of all material (either bought or made) and operations that go into a finished product or sub-Item. In ERPNext, the component could have its own BOM hence forming a tree of Items with multiple levels.
+
+To make accurate Purchase Requests, you must always maintain your correct BOMs. To make a new BOM:
+
+> Manufacturing > Bill of Materials > New BOM
+
+In the BOM form:
+
+- Select the Item for which you want to make the BOM.
+- Add the operations that you have to go through to make that particular Item in the “Operations” table. For each operation, you will be asked to enter a Workstation. You must create new Workstations as and when necessary.
+- Add the list of Items you require for each operation, with its quantity. This Item could be a purchased Item or a sub-assembly with its own BOM. If the row Item is a manufactured Item and has multiple BOMs, select the appropriate BOM.
You can also define if a part of the Item goes into scrap.
+
+Workstations are defined only for product costing purposes not inventory. Inventory is tracked in Warehouses not Workstations.
+
+> The “Full BOM” section will list all the Items of that BOM right up to the lower most child node. This table is automatically updated if any of the BOMs of the sub-Items are updated.
\ No newline at end of file
diff --git a/docs/docs.user.ops.mfg.md b/docs/docs.user.ops.mfg.md
new file mode 100644
index 0000000..fcf9c9f
--- /dev/null
+++ b/docs/docs.user.ops.mfg.md
@@ -0,0 +1,58 @@
+---
+{
+ "_label": "Manufacturing",
+ "_toc": [
+ "docs.user.ops.mfg.bom",
+ "docs.user.ops.mfg.planning",
+ "docs.user.ops.mfg.production_order"
+ ]
+}
+---
+The Manufacturing module in ERPNext helps you maintain multi-level Bill of Materials (BOMs) for your Items, help you in Product Costing, plan your production via Production Plan, create Production Orders for your manufacturing shop floor and plan your inventory by getting your material requirement via your BOMs (also called Material Requirements Planning MRP).
+
+### Types of Production Planning
+
+Broadly there are three types of Production Planning Systems
+
+- Make-to-Stock: In these systems, production is planned based on a forecast and then the Items are sold to distributors or customers. All fast moving consumer goods that are sold in retail shops like soaps, packaged water etc and electronics like phones etc are Made to Stock.
+- Make-to-Order: In these systems, manufacturing takes place after an firm order is placed by a Customer.
+- Engineer-to-Order: In this case each sale is a separate Project and has to be designed and engineered to the requirements of the Customer. Common examples of this are any custom business like furniture, machine tools, speciality devices, metal fabrication etc.
+
+Most small and medium sized manufacturing businesses are based on a make-to-order or engineer-to-order system and so is ERPNext.
+
+For engineer-to-order systems, the Manufacturing module should be used along with the Projects module.
+
+#### Manufacturing and Inventory
+
+You can track you work-in-progress by creating work-in-progress Warehouses.
+
+ERPNext will help you track material movement by automatically creating Stock Entries from your Production Orders by building form Bill of Materials.
+
+
+---
+
+### Material Requirements Planning (MRP):
+
+The earliest ERP systems were made for manufacturing. The earliest adopters were automobile companies who had thousands of raw materials and sub-assemblies and found it very hard to keep track of requirements and plan purchases. They started using computers to build the material requirements from forecasts and Bill of Materials.
+
+Later these systems were expanded to include Financial, Payroll, Order Processing and Purchasing and became the more generic Enterprise Resource Systems (ERP). More recently Customer Relationship Management (CRM) was added as a function and is now an integral part of ERP systems.
+
+These days the term ERP is used to describe systems that help manage any kind of organization like education institutes (Education ERP) or Hospitals (Hospital ERP) and so on.
+
+---
+
+### Best Practice: Lean Manufacturing
+
+The state of art manufacturing philosophy (the rationale behind the planning processes) comes from Japanese auto major Toyota. At the time when American manufacturers depended on MRP systems to plan their manufacturing based on their sales forecasts, they turned the problem on its head and discovered a leaner way of planning their production. They realized that:
+
+The biggest cause of wastage in manufacturing is variation (in product and quantity).
+
+So they standardized their products and sub-assemblies and sold fixed quantities based on what they produced not produce based on what they sold. This way, they had an extremely predictable and stable product mix. If they sold less than planned, they would simple stop production.
+
+Their card signaling system kanban, would notify all their suppliers to stop production too. Hence they never used any of the complex material planning tools like MRP to play day-to-day material requirements, but a simple signaling system that said either STOP or GO.
+
+They combined this system with neatly managed factories with well labeled racks.
+
+Like we discussed before, small manufacturing companies are usually make-to-order or engineer-to-order and can hardly afford to have a high level of standardization. But that should be the aim. Small manufacturing businesses should aim for repeatability by innovating processes so that there is a common platform for products.
+
+
diff --git a/docs/docs.user.ops.mfg.planning.md b/docs/docs.user.ops.mfg.planning.md
new file mode 100644
index 0000000..31de071
--- /dev/null
+++ b/docs/docs.user.ops.mfg.planning.md
@@ -0,0 +1,28 @@
+---
+{
+ "_label": "Production Planning Tool"
+}
+---
+Production Planning Tool helps you plan production and purchase of Items for a period (usually a week or a month).
+
+This list of Items can be generated from the open Sales Orders in the system and will generate:
+
+- Production Orders for each Item.
+- Purchase Requests for Items whose Projected Quantity is likely to fall below zero.
+
+To use the Production Planning Tool, go to:
+
+> Manufacturing > Production Planning Tool
+
+The Production Planning Tool is used in two stages:
+
+- Selection of Open Sales Orders for the period based on “Expected Delivery Date”.
+- Selection of Items from those Sales Orders.
+- Click on “Raise Production Orders”
+
+The tool will update if you have already created Production Orders for this Item against this Sales Order (“Planned Quantity”).
+
+You can always edit the Item list and increase / reduce quantities to plan your production.
+
+> Note: How do you change a Production Plan? The output of the Production Planning Tool is the Production Order. Once your orders are created, you can change them by amending the Production Orders.
+
diff --git a/docs/docs.user.ops.mfg.production_order.md b/docs/docs.user.ops.mfg.production_order.md
new file mode 100644
index 0000000..af1ecef
--- /dev/null
+++ b/docs/docs.user.ops.mfg.production_order.md
@@ -0,0 +1,27 @@
+---
+{
+ "_label": "Production Order"
+}
+---
+Production Order (also called as Work Order) is a document that is given to the manufacturing shop floor by the Production Planner as a signal to product a certain quantity of a certain Item. Production Order also helps to generate the material requirements (Stock Entry) for the Item to be produced from its **Bill of Materials**.
+
+The **Production Order** is generated directly from the **Production Planning Tool** based on Sales Orders. You can also create a direct Production Order by:
+
+> Manufacturing > Production Order > New Production Order
+
+- Select the Item to be produced (must have a Bill of Materials).
+- Select the BOM
+- Select Quantities
+- Select Warehouses. WIP (Work-in-Progress) is where your Items will be transferred when you begin production and FG (Finished Goods) where you store finished Items before they are shipped.
+- Select if you want to consider sub-assemblies (sub-Items that have their own BOM) as stock items or you want to explode the entire BOM when you make Stock Entries for this Item. What is means is that if you also maintain stock of your sub assemblies then you should set this as “No” and in your Stock Entires, it will also list the sub-assembly Item (not is sub-components).
+
+and “Submit” the Production Order.
+
+Once you “Submit”, you will see two more buttons:
+
+1. Make Transfer: This will create a Stock Entry with all the Items required to complete this Production Order to be added to the WIP Warehouse. (this will add sub-Items with BOM as one Item or explode their children based on your setting above).
+1. Back Flush: This will create a Stock Entry that will deduct all the sub-Items from the WIP Warehouse and add them to the Finished Goods Warehouse.
+
+When you Back Flush your Items back to the Finished Goods Warehouse, the “Produced Quantity” will be updated in the Production Order.
+
+> Tip: You can also partially complete a Production Order by updating the Finished Goods stock creating a Stock Entry and selecting “Back flush” as the type.
\ No newline at end of file
diff --git a/docs/docs.user.ops.projects.md b/docs/docs.user.ops.projects.md
new file mode 100644
index 0000000..28ab0cb
--- /dev/null
+++ b/docs/docs.user.ops.projects.md
@@ -0,0 +1,24 @@
+---
+{
+ "_label": "Projects"
+}
+---
+Managing Projects
+
+ERPNext helps you manage your Projects by breaking them into Tasks and allocating them to different people.
+
+Purchasing and selling can also be tracked against Projects and this can help the company keep tabs on its budget, delivery and profitability for a Project.
+
+Projects can be used to manage internal projects, manufacturing jobs or service jobs. For service jobs, Time Sheets can also be created that can be used to bill Customers if billing is done on a Time & Money basis.
+
+## Project
+
+The Project record maintains the details of your project and milestones that you have set. The Project record can be linked in Quotations, Sales Orders, Delivery Notes, Sales Invoices, Purchase Requests, Purchase Orders and Purchase Invoices. This way you can keep a track of all the activities that happen around this project.
+
+## Tasks
+
+Project is broken into Tasks and each Task is allocated to a resource. In ERPNext, you can also create an allocate a Task independently of a Project. If you define the start and end dates, it will add calendar events for the same and also show the task on the Gantt Chart that you can use for monitoring the Project.
+
+## Time Sheets
+
+You can create Time Sheets to track billable work to Customers. These Time Sheets can be tracked against Project and Tasks so that you can get reports on how much time was spent on each Task or Project.
\ No newline at end of file
diff --git a/docs/docs.user.ops.selling.lead.md b/docs/docs.user.ops.selling.lead.md
new file mode 100644
index 0000000..5e0f399
--- /dev/null
+++ b/docs/docs.user.ops.selling.lead.md
@@ -0,0 +1,29 @@
+---
+{
+ "_label": "Lead"
+}
+---
+To get the customer through the door, you may be doing all or any of the following:
+
+- Listing your product on directories.
+- Maintaining an updated and searchable website.
+- Meeting people at trade events.
+- Advertising your product or service.
+
+When you send out the word that you are around and have something valuable offer, people will come in to check out your product. These are your Leads.
+
+They are called Leads because they may lead you to sale. Sales people usually work on leads by calling them, building a relationship and sending information about your products or services. It is important to track all this conversation so that in case another person has to follow-up that person knows the history of this Lead.
+
+To create a Lead, go to:
+
+> Selling > Lead > New Lead
+
+ERPNext gives you a lot of options you may want to store about your Leads. For example what is the source, how likely are they to give you business etc. If you have a healthy number of leads, this information will help you prioritize who you want to work on.
+
+> **Tip:** ERPNext makes it easy to follow-up on leads by updating the “Next Contact” details. This will add a new event in the Calendar for the User who has to contact the lead next.
+
+### Difference between Lead, Contact and Customer
+
+The difference is that a Lead is a potential Customer, someone who can give you business. A Customer is an organization or individual who has given you business before (and has an Account in your system). A Contact is a person who belongs to the Customer.
+
+A Lead can be converted to a Customer by clicking on the “Create Customer” button. Once the Customer is created, the Lead becomes “Converted” and any further Opportunities from the same source can be created against the Customer.
diff --git a/docs/docs.user.ops.selling.md b/docs/docs.user.ops.selling.md
new file mode 100644
index 0000000..006a0f5
--- /dev/null
+++ b/docs/docs.user.ops.selling.md
@@ -0,0 +1,14 @@
+---
+{
+ "_label": "Selling",
+ "_toc": [
+ "docs.user.ops.selling.lead",
+ "docs.user.ops.selling.opportunity",
+ "docs.user.ops.selling.quotation",
+ "docs.user.ops.selling.sales_order"
+ ]
+}
+---
+Selling is that the communication that happens with the customer the prior to and during the sale. You might be managing all the communication yourself or you may have a small team of sales people to handle this. ERPNext helps you track the communication leading up to the sale, by keeping all your documents in an organized and searchable manner.
+
+ERPNext helps you track business **Opportunities** from **Leads** and **Customers**, send them **Quotations** and make confirmed **Sales Orders**.
diff --git a/docs/docs.user.ops.selling.opportunity.md b/docs/docs.user.ops.selling.opportunity.md
new file mode 100644
index 0000000..d3945b5
--- /dev/null
+++ b/docs/docs.user.ops.selling.opportunity.md
@@ -0,0 +1,16 @@
+---
+{
+ "_label": "Opportunity"
+}
+---
+When you know a Lead is looking for some products or services to buy, you can track that as an Opportunity.
+
+You can create an Opportunity from:
+
+> Selling > Opportunity > New Opportunity
+
+or open a “Open” Lead and click on “Create Opportunity” button.
+
+An Opportunity can also come from an existing Customer. You can create multiple Opportunities against the same Lead. In Opportunity, apart from the Communication, you can also add the Items for which the Lead or Contact is looking for.
+
+> Best Practice: Leads and Opportunities are often referred as your “Sales Pipeline” this is what you need to track if you want to be able to predict how much business you are going to get in the future. Its always a good idea to be able to track what is coming so that you can adjust your resources.
\ No newline at end of file
diff --git a/docs/docs.user.ops.selling.quotation.md b/docs/docs.user.ops.selling.quotation.md
new file mode 100644
index 0000000..6227d95
--- /dev/null
+++ b/docs/docs.user.ops.selling.quotation.md
@@ -0,0 +1,74 @@
+---
+{
+ "_label": "Quotation"
+}
+---
+During a sale, the customer may want you to give a written note about the products or services you are planning to offer along with the prices and other terms of engagement. This is called a “Proposal” or an “Estimate” or a “Pro Forma Invoice”or a Quotation.
+
+To create a new Quotation go to:
+
+> Selling > Quotation > New Quotation
+
+A Quotation contains details about:
+
+- Who is the recipient of the Quotation.
+- The Items and quantities you are offering.
+- The rates at which they are offered.
+- The taxes applicable.
+- Other charges (like shipping, insurance) if they are applicable.
+- The validity of contract.
+- The time of delivery.
+- Other conditions.
+
+> Tip: Images look great on Quotations. To add images to your Quotations, attach the corresponding image in the Item master.
+
+
+### Rates
+
+The rates you quote may depend on two things.
+
+- The Price List: If you have multiple Price Lists, you can select a Price List or tag it to the Customer (so that it is auto-selected). Your Item prices will automatically be updated from the Price List.
+- The Currency: If you are quoting to a Customer in a different currency, you will have to update the conversion rates so that ERPNext will also save the information in your standard Currency. This will help you to analyze the value of your Quotations in reports in your standard Currency.
+
+### Taxes
+
+To add taxes to your Quotation, you can either select a tax template, Sales Taxes and Charges Master or add the taxes on your own.
+
+You can add taxes in the same manner as the Sales Taxes and Charges Master.
+
+### Terms and Conditions
+
+Each Quotation must ideally contain a set of terms of your contract. It is usually a good idea to make templates of your Terms and Conditions, so that you have a standard set of terms. You can do this by going to:
+
+> Selling > Terms and Conditions (right sidebar)
+
+#### What should Terms and Conditions Contain?
+
+- Validity of the offer.
+- Payment Terms (In Advance, On Credit, part advance etc).
+- What is extra (or payable by the Customer).
+- Safety / usage warning.
+- Warranty if any.
+- Returns Policy.
+- Terms of shipping, if applicable.
+- Ways of addressing disputes, indemnity, liability, etc.
+- Address and Contact of your Company.
+
+### Submission
+
+Quotation is a “Submittable” transaction. Since you send this Quotation to your Customer or Lead, you must freeze it so that changes are not made after you send the Quotation. See Document Stages.
+
+> Tip: Quotations can also be titled as “Proforma Invoice” or “Proposal”. Select the right heading in the “Print Heading” field in the “More Info” section. To create new Print Headings go to Setup > Branding and Printing > Print Headings.
+
+## Dicounts
+
+While making your sales transactions like a Quotation (or Sales Order) you would already have noticed that there is a “Discount” column. On the left is the “Price List Rate” on the right is the “Basic Rate”. You can add a “Discount” value to update the basic rate.
+
+Since your taxes are calculated on Items, you must apply your discounts here so that you apply the tax on the discounted rate, which is the case for most taxes.
+
+The second way to apply discount is to add it in your Taxes and Charges table. This way you can explicitly show the Customer the discount you have applied on the order. If you choose this method, remember that you will tax your Customer at the full rate, not the discounted rate. So this is not a good way to track discounts.
+
+There is a third way to do it. Create an Item called “Discount” and make sure that all the taxes apply in the same way as the main Items. (This method is useful if only one type of tax is applicable on the sale). This way your “Discount” will appear as an expense. You will see a slightly higher income and expense but your profits will still remain the same. This method might be interesting where you want detailed accounting of your discounts.
+
+> Note: The maximum Discount that can be applied on an Item can up fixed in the Item master.
+
diff --git a/docs/docs.user.ops.selling.sales_order.md b/docs/docs.user.ops.selling.sales_order.md
new file mode 100644
index 0000000..148200d
--- /dev/null
+++ b/docs/docs.user.ops.selling.sales_order.md
@@ -0,0 +1,47 @@
+---
+{
+ "_label": "Sales Order"
+}
+---
+The Sales Order confirms your sales and triggers purchase (**Purchase Request**) shipment (**Delivery Note**), billing (**Sales Invoice**) and manufacturing (**Production Plan**)
+
+A Sales Order is usually a binding Contract with your Customer.
+
+Once your customer confirms the Quotation you can convert your Quotation into a Sales Order. Alternatively, you can create a Sales Order directly from:
+
+> Selling > Sales Order > New Sales Order
+
+Most of the information in your Sales Order is the same as the Quotation. There are a few of more things a Sales Order will ask you to update.
+
+- Expected date of delivery.
+- Customer Purchase Order number: If you customer has sent you a Purchase Order, you can update its number for future reference (in billing).
+
+#### Packing List
+
+The “Packing List” table will be automatically updated when you “Save” the Sales Order. If any Items in your table are Sales BOM (packets), then the “Packing List” will contain the exploded (detailed) list of your Items.
+
+#### Reservation and Warehouses
+
+If your Sales Order contains Items for which inventory is tracked (Is Stock Item is “Yes”). ERPNext will ask you for “Reservation Warehouse”. If you have set a default Warehouse for the Item, it will automatically set this Warehouse here.
+
+This “reserved” quantity will help you project what is the quantity you need to purchase based on all your commitments.
+
+#### Sales Team
+
+**Sales Partner:** If this Sale was booked via a Sales Partner, you can update the Sales Partner’s details with commission and other info that you can aggregate.
+
+**Sales Persons:** ERPNext allows you to tag multiple Sales Persons who may have worked on this deal. You can also split the amount in targets of different Sales Persons and track how much invectives they earned on this deal.
+
+#### Next Steps
+
+Once your “Submit” your Sales Order, you can now trigger different aspects of your organization:
+
+- To being purchase click on “Make Purchase Request”
+- To make a shipment entry click on “Make Delivery Note”
+- To bill, make “Make Sales Invoice”
+- To stop further process on this Sales Order, click on “Stop”
+
+#### Submission
+
+Sales Order is a “Submittable” transaction. See Document Stages. You will be able to execute dependent steps (like making a Delivery Note) only after “Submitting” this Sales Order.
+
diff --git a/docs/docs.user.ops.support.customer_issue.md b/docs/docs.user.ops.support.customer_issue.md
new file mode 100644
index 0000000..92cb29a
--- /dev/null
+++ b/docs/docs.user.ops.support.customer_issue.md
@@ -0,0 +1,17 @@
+---
+{
+ "_label": "Customer Issue"
+}
+---
+If you are selling **Items** under warranty or if you have sold and extended service contract Annual Maintenance Contract (AMC), your **Customer** may call you about an issue or a bread-down and give you the Serial No of this Item.
+
+To record this, you can create a new **Customer Issue** and add the **Customer** and **Item** / **Serial No**. The system will then automatically fetch the Serial No’s details and indicate whether this is under warranty or AMC.
+
+You must also add a description of the **Customer**’s issue and assign it to the person who needs to look into solving the issue.
+
+To create a new **Customer Issue**:
+
+> Support > Customer Issue > New Customer Issue
+
+If a Customer visit is required to address the issue, you can create a new Maintenance Visit record from this.
+
diff --git a/docs/docs.user.ops.support.maintenance_schedule.md b/docs/docs.user.ops.support.maintenance_schedule.md
new file mode 100644
index 0000000..82bf8f9
--- /dev/null
+++ b/docs/docs.user.ops.support.maintenance_schedule.md
@@ -0,0 +1,22 @@
+---
+{
+ "_label": "Maintenance Schedule"
+}
+---
+All machines require regular maintenance, specially those that contain a lot of moving parts, so if you are in the business of maintaining those or have some of them in your own premises, this is a useful tool to plan a calendar of activities for its maintenance.
+
+If the Customer Issue refers to “Breakdown Maintenance”, this refers to “Preventive Maintenance”.
+
+To create a new Maintenance Schedule go to:
+
+> Support > Maintenance Schedule > New Maintenance Schedule
+
+In the Maintenance Schedule, there are two sections:
+
+In the first section, you select the Items for which you want to generate the schedule and set how frequently you want to plan a visit or a maintenance. These can be optionally fetched from a Sales Order. After selecting the Items, “Save” the record.
+
+The second section contains the maintenance activities planned in the schedule. “Generate Schedule” will generate a separate row for each maintenance activity.
+
+Each Item in a Maintenance Schedule is allocated to a Sales Person.
+
+When the document is “Submitted” Calendar events are created in the profile of the Sales Person for each maintenance.
\ No newline at end of file
diff --git a/docs/docs.user.ops.support.maintenance_visit.md b/docs/docs.user.ops.support.maintenance_visit.md
new file mode 100644
index 0000000..dc115e2
--- /dev/null
+++ b/docs/docs.user.ops.support.maintenance_visit.md
@@ -0,0 +1,16 @@
+---
+{
+ "_label": "Maintenance Visit"
+}
+---
+A Maintenance Visit is a record for a visit made by an engineer to a Customer’s premises usually against a Customer Issue. You can create a new Maintenance Visit from:
+
+> Support > Maintenance Visit > New Maintenance Visit
+
+The Maintenance Visit contains information about the:
+
+- Customer.
+- The Items that were inspected / maintenance activity was carried out on.
+- Details of actions taken.
+- The person who carried out the actions.
+- Feedback from the Customer.
diff --git a/docs/docs.user.ops.support.md b/docs/docs.user.ops.support.md
new file mode 100644
index 0000000..16eefff
--- /dev/null
+++ b/docs/docs.user.ops.support.md
@@ -0,0 +1,14 @@
+---
+{
+ "_label": "Support",
+ "_toc": [
+ "docs.user.ops.support.support_ticket",
+ "docs.user.ops.support.customer_issue",
+ "docs.user.ops.support.maintenance_visit",
+ "docs.user.ops.support.maintenance_schedule"
+ ]
+}
+---
+Great customer support and maintenance is at the heart of any successful small business and ERPNext gives you the tools to track all incoming requests and issues from your customers so that you can respond quickly. Your database of incoming queries will also help you track where are the biggest opportunities for improvements.
+
+In this module, you can track incoming queries from your email using Support Ticket, keep track on Customer Issues raised by Customers on specific Serial No and respond to them based on their warranty and other information, make Maintenance Schedules for Serial Nos and keep a record of all Maintenance Visits made to your Customers.
diff --git a/docs/docs.user.ops.support.support_ticket.md b/docs/docs.user.ops.support.support_ticket.md
new file mode 100644
index 0000000..b4a496b
--- /dev/null
+++ b/docs/docs.user.ops.support.support_ticket.md
@@ -0,0 +1,26 @@
+---
+{
+ "_label": "Support Ticket"
+}
+---
+Support Ticket is an incoming query from your Customer, usually via email of from the “Contact” section of your website. (To fully integrate the Support Ticket to email, see the Email Settings section).
+
+> Tip: A dedicated support email id is a good way to integrate incoming queries via email. For example, you can send support queries to ERPNext at support@erpnext.com and it will automatically create a Support Ticket in the Web Notes system.
+
+#### Discussion Thread
+
+When a new email is fetched from your mailbox, a new Support Ticket record is created and an automatic reply is sent to the sender indicating the Support Ticket Number. The sender can send additional information to this email. All subsequent emails containing this Support Ticket number in the subject will be added to this Support Ticket thread. The sender can also add attachments to the email.
+
+Support Ticket maintains all the emails sent back and forth against this issue in the system so that you can track what transpired between the sender and the person responding.
+
+#### Status
+
+When a new Support Ticket is created, its status is “Open”, when it is replied, its status becomes “Waiting for Reply”. If the sender replies back its status again becomes “Open”.
+
+#### Closing
+
+You can either “Close” the Support Ticket manually by clicking on “Close Ticket” in the toolbar or if its status is “Waiting For Reply” and the sender did not reply in 7 days, then the Support Ticket closes automatically.
+
+#### Allocation
+
+You can allocate the Support Ticket by using the “Assign To” feature in the right sidebar. This will add a new To Do to the user and also send a message indicating that this Support Ticket is allocated.
\ No newline at end of file
diff --git a/docs/docs.user.reports.builder.md b/docs/docs.user.reports.builder.md
new file mode 100644
index 0000000..31a1939
--- /dev/null
+++ b/docs/docs.user.reports.builder.md
@@ -0,0 +1,28 @@
+---
+{
+ "_label": "Report Builder"
+}
+---
+All the data that you enter in ERPNext is stored in database tables. An easy way to visualize this is to imagine each type of data like Customer, Sales Invoice, Task is stored in a separate spreadsheets, each containing all the data included in one table.
+
+ERPNext gives you a simple tool called the Report Builder to extract data from these tables and show them in rows and columns where you can pick and choose which column to display and filter and sort the data by different parameters.
+
+To start a new report click on the “Report” menu in the top toolbar or on the list page of any transaction click on the “Build Report” button. For example, to make a report of Sales Invoices, go to
+
+> Accounts > Sales Invoice > Build Report
+
+### Exporting
+
+If you have “Report Manager” or “System Manager” permission, you can export the data from the Report Building via CSV to your favorite Spreadsheet application where you can do further analysis, apply formulas, make graphs etc.Selecting Columns
+
+You can select columns by clicking on “Pick Columns”. Select the column you want from the drop-down.
+
+You can also select columns from the “child tables”. For example if you have selected Sales Invoice, you can select columns from the Sales Invoice Item table also.
+
+### Adding Filters
+
+You can also add multiple filters by clicking on the “Show Filters” button.
+
+### Saving
+
+You can also save your selection of columns and filters by clicking on the “Save” button. You might need “System Manager” or “Report Manager” privileges for this. When you save a report, it will appear in the “Reports” section of the module page.
diff --git a/docs/docs.user.reports.md b/docs/docs.user.reports.md
new file mode 100644
index 0000000..4f08fff
--- /dev/null
+++ b/docs/docs.user.reports.md
@@ -0,0 +1,8 @@
+---
+{
+ "_label": "Reports and Analytics",
+ "_toc": [
+ "docs.user.reports.builder"
+ ]
+}
+---
diff --git a/docs/docs.user.setup.customer.md b/docs/docs.user.setup.customer.md
index 829f943..5316f34 100644
--- a/docs/docs.user.setup.customer.md
+++ b/docs/docs.user.setup.customer.md
@@ -1,6 +1,6 @@
---
{
- "_label": "Foundation: Customer",
+ "_label": "Customer Master",
"_title_image": "img/customers.png"
}
---
diff --git a/docs/docs.user.setup.data_import.md b/docs/docs.user.setup.data_import.md
new file mode 100644
index 0000000..c7c6f94
--- /dev/null
+++ b/docs/docs.user.setup.data_import.md
@@ -0,0 +1,39 @@
+---
+{
+ "_label": "Data Import Tool"
+}
+---
+The Data Import Tool is a great way to upload (or edit) bulk data, specially master data, into the system. To start the tool go to:
+
+> Setup > Data > Data Import Tool
+
+The tool has two sections, one to download a template and the second to upload the data.
+
+To upload any type of information, select a type from the drop-down. When you select, the system will give you one or more list of templates you can download. So why multiple templates?
+
+In ERPNext, each master or transaction is defined by a “main table” and “child tables”. These child tables are there because some master tables could have multiple value of certain properties. For example, select Item. Here you will see a number of “child” tables linked to the item table. This is because an Item can have multiple prices, taxes and so on! You must import each table separately. In the child table, you must the mention the parent of the row in the “parent” column so that ERPNext knows which Item’s price or tax you are trying to set.
+
+### The Template
+
+Here is a few tips of filling out your template:
+
+- Don’t change any cells before the row “----Start entering data below this line----”.
+- Leave the first column blank.
+- Read the explanations of the columns.
+- Some columns are mandatory (the 5th row will tell you which ones those are).
+- Columns of type “Link” and “Select” will only accept values from a certain set.
+- For “Link” type columns, the value must be present in the table it links to.
+- For “Select” the options are given on the 6th row. The value must be one of those.
+- Dates: A number of standard date formats are accepted. Please make sure, your dates are in one of those formats.
+
+### Overwriting
+
+ERPNext also allows you to overwrite all / certain columns. If you want to update certain column, you can download the template with data and when you upload remember to check on the “Overwrite” box before uploading.
+
+> Note: For child records, if you select Overwrite, it will delete all the child records of that parent.
+
+### Upload Limitations
+
+ERPNext restricts the amount of data you can upload in one file. Though the number may vary based on the type of data. It is usually safe to upload 100-200 rows of a table at one go. If the system will not accept, then you will see an error.
+
+Why is this? Uploading a lot of data can cause your system to crash, specially if there are other users doing things in parallel. Hence ERPNext restricts the number of “writes” you can process in one request.
diff --git a/docs/docs.user.setup.email.md b/docs/docs.user.setup.email.md
new file mode 100644
index 0000000..21a82eb
--- /dev/null
+++ b/docs/docs.user.setup.email.md
@@ -0,0 +1,58 @@
+---
+{
+ "_label": "Setting up Email"
+}
+---
+Emails are the nervous system of business communication and ERPNext has been designed to make good use of this.
+
+## Sending Emails
+
+You can email any document from the system, by click on the “Email” button in the right sidebar. Before that you will need to set your outgoing email settings (SMTP server).
+
+All emails sent from the system are added to the Communication table.
+
+> **Info:** What is SMTP? There are two types of email services, sending and receiving emails. Sending is done via a protocol called SMTP (Simple Mail Transfer Protocol) and the server (computer) that sends your email to its destination is called and SMTP Server.
+
+> **Info:** Bulk Emails: Bulk Emails, especially those that are sent without consent (spam), are considered as bad behavior. While it may be okay to send emails to those who have “opted-in” to receive mails, it is very difficult for the internet community to know what is spam and what is allowed. To overcome this problem, most email servers share a black and whitelist of email senders. If your emails have been marked as spam, you will be blacklisted. So be careful. Many times, it may be a good idea to send email via whitelisted services also called SMTP relay services that are paid services. These services will block you from sending spam while ensuring that most of your email does not go in the spam folder. There are many such services available like SendGrid and SMTP.com
+
+To setup your outgoing mails, go to
+
+> Setup > Email and Notifications > Email Settings
+
+Set your outgoing mail server settings here. These are the same settings you would use in your Outlook, Thunderbird, Apple Mail or other such email applications. If you are not sure, get in touch with your email service provider.
+
+> **Tip:** If you are using EPRNext hosted service, keep the first section blank. Emails will still be sent from your email id, but via our SMTP relay service.
+
+### Creating Support Tickets from Incoming Emails
+
+A very useful email integration is to sync the incoming emails from support inbox into Support Ticket, so that you can track, assign and monitor support issues.
+
+> **Case Study:** Here are ERPNext, we have regularly tracking incoming support issues via email at “support@erpnext.com”. At the time of writing we have answered more than 3000 tickets via this system.
+
+To setup your Support integration, go to:
+
+> Setup > Email and Notifications > Email Settings > Incoming Mail Settings
+
+To make ERPNext pull emails from your mail box, enter the POP3 settings. (POP3 is a way of extracting emails from your mailbox. It should be fairly easy to find out what your POP3 settings are. If you have problems, contact your email service provider).
+If you want to setup an auto reply, check on the “Send Autoreply” box and when ever someone sends an email, an autoreply will be sent.
+Add a custom signature you want to send with your replies.
+
+### Setting Auto-notification on Documents
+
+ERPNext allows you to automatically email documents on “Submission” to the contact mentioned in the document. To set this up, go to:
+
+> Setup > Email and Notifications > Auto-notifications
+
+Check on the transactions you want to send via email directly on Submission and add a custom message if you want on these documents.
+
+### Email Digests
+
+Email Digests allow you to get regular updates about your sales, expenses and other critical numbers directly in your Inbox.
+
+Set your frequency, check all the items you want to receive in your weekly update and select the user ids who you want to send the Digest to.
+
+Email Digests are a great way for top managers to keep track of the big numbers like “Sales Booked” or “Amount Collected” or “Invoices Raised” etc.
+
+To setup Email Digests, go to:
+
+> Setup > Email and Notifications > Email Digests > New Email Digest
\ No newline at end of file
diff --git a/docs/docs.user.setup.item.md b/docs/docs.user.setup.item.md
index e85876b..06abd21 100644
--- a/docs/docs.user.setup.item.md
+++ b/docs/docs.user.setup.item.md
@@ -1,6 +1,6 @@
---
{
- "_label": "Foundation: Item",
+ "_label": "Item Master",
"_title_image": "img/items.png"
}
---
diff --git a/docs/docs.user.setup.letter_head.md b/docs/docs.user.setup.letter_head.md
new file mode 100644
index 0000000..fc7477f
--- /dev/null
+++ b/docs/docs.user.setup.letter_head.md
@@ -0,0 +1,14 @@
+---
+{
+ "_label": "Letter Head"
+}
+---
+You can create / manage Letter Heads from:
+
+> Setup > Branding and Printing > Letter Heads
+
+- Create an image with your logo, brand and other information you want to put on your letter head.
+- Attach the image in your Letter Head record and click on “Set From Image” to automatically generate the HTML required for this Letter Head.
+- If you want to make this the default letter head, click on “Is Default”.
+
+Thats it! Your letter head will now appear in all Prints and Emails of documents.
diff --git a/docs/docs.user.setup.md b/docs/docs.user.setup.md
index 4bc4aee..ecada53 100644
--- a/docs/docs.user.setup.md
+++ b/docs/docs.user.setup.md
@@ -8,7 +8,14 @@
"docs.user.setup.accounting",
"docs.user.setup.item",
"docs.user.setup.customer",
- "docs.user.setup.supplier"
+ "docs.user.setup.supplier",
+ "docs.user.setup.taxes",
+ "docs.user.setup.series",
+ "docs.user.setup.email",
+ "docs.user.setup.permissions",
+ "docs.user.setup.letter_head",
+ "docs.user.setup.data_import",
+ "docs.user.setup.opening"
]
}
---
diff --git a/docs/docs.user.setup.opening.md b/docs/docs.user.setup.opening.md
new file mode 100644
index 0000000..3f8cdb4
--- /dev/null
+++ b/docs/docs.user.setup.opening.md
@@ -0,0 +1,66 @@
+---
+{
+ "_label": "Opening Accounts and Inventory"
+}
+---
+Now that you have completed most of the setup, its time to start moving in!
+
+There are two important sets of data you need to enter before you start your operations.
+
+- Opening Account balances.
+- Opening Stock balances.
+
+To setup your accounts and stock correctly you will need accurate data to work with. Make sure you have the data setup for this.
+
+### Opening Accounts
+
+We usually recommend that you start using accounting in a new financial year, but you could start midway too. To setup your accounts, you will need the following for the “day” you start using accounting in ERPNext:
+
+Opening capital accounts - like your shareholder’s (or owner’) capital, loans, bank balances on that day.
+List of outstanding sales and purchase invoices (Payables and Receivables).
+
+#### Temporary Accounts
+
+A nice way to simplify opening is to create temporary accounts for assets and liability just for opening. These accounts will become zero once all your old invoices are entered. The two accounts you can create are (example):
+
+- Temp Opening Liabilities
+- Temp Opening Assets
+
+#### The Opening Entry
+
+In ERPNext Opening Accounts are setup by submitting a special Journal Entries (Journal Voucher).
+
+Note: Make sure to set “Is Opening” as “Yes” in the More Info section.
+
+You can make two Opening Journal Vouchers:
+
+- For all assets (excluding Accounts Receivables): This entry will contain all your assets except the amounts you are expecting from your Customers against outstanding Sales Invoices. You will have to update your receivables by making an individual entry for each Invoice (this is because, the system will help you track the which Invoices are yet to be paid). Since all the entries in this voucher will be of type “Debit”, you can credit the sum of all these debits against the “Temp Opening Liabilities” account.
+- For all liabilities: Similarly you need to pass a Journal Voucher for your Opening Liabilities (except for the bills you have to pay). This can be made against the “Temp Opening Assets” account.
+
+#### Outstanding Invoices
+
+After your Opening Journal Vouchers are made, you will need to enter each Sales Invoice and Purchase Invoice that is yet to be paid.
+
+Since you have already booked the income or expense on these invoices in the previous period, select the temp opening accounts in the “Income” and “Expense” accounts.
+
+Note: Again make sure to set each invoice as “Is Opening”!
+
+If you don’t care what items are in that invoice, just make a dummy item entry in the Invoice. Item code in the Invoice is not necessary, so it should not be such a problem.
+
+Once all your invoices are entered, your “Temp Opening Assets” will be same as “Temp Opening Liabilities” and you can pass another “Is Opening” type of Journal Voucher and cancel them to zero!
+
+---
+
+## Opening Stock
+
+You can upload your opening stock in the system using Stock Reconciliation. Stock Reconciliation will update your stock for a given Item on a given date for a given Warehouse to the given quantity.
+
+Stock Reconciliation will make a “difference entry” (the difference between the system stock and the actual stock in your file) for the Item.
+
+Tip: Stock Reconciliation can also be used to update the “value” of an Item.
+
+To make a Stock Reconciliation, go to:
+
+> Stock > Stock Reconciliation > New Stock Reconciliation
+
+and follow the steps mentioned on the page.
\ No newline at end of file
diff --git a/docs/docs.user.setup.permissions.md b/docs/docs.user.setup.permissions.md
new file mode 100644
index 0000000..169ebff
--- /dev/null
+++ b/docs/docs.user.setup.permissions.md
@@ -0,0 +1,86 @@
+---
+{
+ "_label": "Setting up Users, Roles and Permissions"
+}
+---
+ERPNext has a role-based permission system, which means that you can assign Roles to Users and permissions on Roles.
+
+## Users (Profile)
+
+Each ERPNext user has a Profile. The Profile contains the user’s email and authentication and can be set from:
+
+> Setup > Users and Permissions > Users
+
+#### Adding a new User
+
+To add a new user, click on “Add” button and enter the user’s
+
+- Email Id
+- First Name
+- Last Name
+- Password
+
+An invitation email will will be sent to the user with the login details.
+
+#### Setting Roles
+
+ERPNext comes with a bunch of predefined roles. Each role comes with predefined permissions. See the Preset Permission Chart to find out what permission each roles comes with.
+
+After creating the User, you can add / remove Roles for that User by clicking on “Roles” button. To find out what permission each role has, click on the “?” sign next to the Role.
+
+You can also create new Roles as you wish via
+
+> Document > Role
+
+#### Security Settings
+
+- Enabling / disabling users: You can enable or disable users. Disabled users will not be able to log in.
+- Setting login time: If login time is set, users can only log-in within the defined hours as per your timezone.
+- Change Password: You can update the user’s password by setting the password field.
+
+## Permissions
+
+ERPNext has a very powerful permission structure that will allow you to set permissions right up to the field level.
+
+Permissions are applied on:
+
+- **Roles:** As we saw earlier, Users are assigned to Roles and it is on these Roles that permission rules are applied.
+- **Document Types:** Each type of document, master or transaction, has a separate list of Role based permission.
+- **Document Stages:** Permissions are applied on each stage of the document like on Creation, Saving, Submission, Cancellation and Amendment.
+- **Permission “Levels”:** In each document, you can group fields by “levels”. Each group of field is denoted by a unique number (1,2,3 etc.). A separate set of permission rules can be applied to each field group. By default all fields are of level 0.
+- **“Match Rules”** Based on certain properties of the document and the user: This can be used in cases where, for example, you have multiple Companies or sales persons in different Territories and you want to restrict each User to only view documents relating to the User’s Company or Territory etc. It is also called “match” rules.
+
+When you define a “match” rule, the User will only be allowed to access (or write) the document if the User has one or more such values (e.g. Company, Territories) and the document has the same values.
For example, if you have set a match rule on Sales Order for a particular Role based on “territory”, then all users of that Role will only be allowed to view Sales Orders of that Territory. Let us walk through an example.
+
+ERPNext comes with pre-set permission rules that you can change anytime by going to
+
+> Setup > Users and Permissions > Permission Manager
+
+## Using the Permission Manager
+
+The Permission Manager is an easy way to set / unset permission rules. The Permission Manager allows you to monitor rules per Document Type.
+
+When you select a document type from the drop-down. You will see the rules that have already been applied.
+
+To add a new rule, click on “Add a New Rule” button and a pop-up box will ask you to select a Role and a Permission Level. Once you select this and click on “Add”, this will add a new row to your rules table.
+
+To edit rules, just check or uncheck the boxes relating the the permission level and Role and click on “Update”.
+
+To delete a rule, just uncheck all the boxes of the row and click on “Update”
+
+To set “match” rules, select the drop-down in the last column.
For example, you want to restrict Users of Role “Sales User” by Territories in Sales Order.
+
+1. Select Sales Order in “Set Permissions For”
+1. In the row for Role “Sales User”, in the last column “Restrict By”, select “territory”.
+1. To assign Territories to Users, click on “Set Users / Roles”
+1. In the popup box,
+ - In the “Who” column, select “Profile” and the User you want to assign the Territory to
+ - In the “Is allowed if territory equals” column, select the Territory you want to assign to this user.
+1. Click on “Add”
+
+In the same way, add a row for each user.
+
+> **Note 1:** The “match” rules apply to all documents that you have matched by Territory.
+
+> **Note 2:** You can set multiple rules for the same User. In this example, you can set a User to access more than one Territories.
+
diff --git a/docs/docs.user.setup.series.md b/docs/docs.user.setup.series.md
new file mode 100644
index 0000000..6db08e3
--- /dev/null
+++ b/docs/docs.user.setup.series.md
@@ -0,0 +1,29 @@
+---
+{
+ "_label": "Creating Numbering Series"
+}
+---
+Data records are broadly classified as “Master” or “Transaction”. A master record is a record that has a “name”, for example a Customer, Item, Supplier, Employee etc. A Transaction is a record that has a “number”. Examples of transactions include Sales Invoices, Quotations etc. You make transactions against a number of master records.
+
+ERPNext allows you to make prefixes to your transactions, with each prefix forming its own series. For example a series with prefix INV12 will have numbers INV120001, INV120002 and so on.
+
+You can have multiple series for all your transactions. It is common to have a separate series for each financial year. For example in Sales Invoice you could have:
+
+- INV120001
+- INV120002
+- INV-A-120002
+
+etc. You could also have a separate series for each type of Customer or for each of your retail outlets.
+
+To setup a series, go to:
+
+> Setup > Customize ERPNext > Numbering Series
+
+In this form,
+
+1. Select the transaction for which you want to make the series
+The system will update the current series in the text box.
+1. Edit the the series as you want with unique prefixes for each series. Each prefix must be on a new line.
+1. The first prefix will be the default prefix. If you want the user to explicitly select a series instead of the default one, check the “User must always select” check box.
+
+You can also update the starting point for a series by entering the series name and the starting point in the “Update Series” section.
\ No newline at end of file
diff --git a/docs/docs.user.setup.supplier.md b/docs/docs.user.setup.supplier.md
new file mode 100644
index 0000000..b988090
--- /dev/null
+++ b/docs/docs.user.setup.supplier.md
@@ -0,0 +1,17 @@
+---
+{
+ "_label": "Supplier Master"
+}
+---
+Suppliers are companies or individuals who provide you products or services. They are treated in exactly the same manner as Customers in ERPNext.
+
+1. Separate Account Ledgers are created for the Supplier in the Company under “Accounts Payable”.
+1. You can have multiple Addresses and Contacts for Suppliers.
+1. Suppliers are categorized as Supplier Type.
+1. If you set “Credit Days”, this will automatically set the due date in Purchase Invoices.
+
+You can create a new Supplier via:
+
+> Buying > Supplier > New Supplier
+
+or importing from the Data Import Tool
diff --git a/docs/docs.user.setup.taxes.md b/docs/docs.user.setup.taxes.md
new file mode 100644
index 0000000..7739567
--- /dev/null
+++ b/docs/docs.user.setup.taxes.md
@@ -0,0 +1,51 @@
+---
+{
+ "_label": "Setting up Taxes"
+}
+---
+One of the primary motivator for compulsory use of accounting tools is calculation of Taxes. You may or may not make money but your government will (to help your country be safe and prosperous). And if you don’t do your taxes correctly, they get very unhappy. Ok, philosophy aside, ERPNext allows you to make configurable tax templates that you can apply to your sales or purchase.
+
+### Tax Accounts
+
+For Tax Accounts that you want to use in the tax templates, you must mention them as type “Tax” in your Chart of Accounts.
+
+## Sales Taxes and Charges Master
+
+You must usually collect taxes from your Customer and pay them to the government. At times there may be multiple taxes for multiple government bodies like local government, state or provincial and federal or central government.
+
+The way ERPNext sets up taxes is via templates. Other types of charges that you may apply to your invoices (like shipping, insurance etc.) can also be configured as taxes.
+
+To create a new sales tax template called Sales Taxes and Charges Master, you have to go to:
+
+> Selling > Setup (sidebar) > Sales Taxes and Charge Master
+
+When you create a new master, you will have to add a row for each tax type.
+
+The tax rate you define here will be the standard tax rate for all Items. If there are Items that have different rates, they must be added in the Item Tax table in the Item master.
+
+In each row, you have to mention:
+
+- Calculation Type:
+ - This can be on net total (that is your basic amount).
+ - On previous row total / amount (for cumulative taxes or charges). If you select this option, the tax will be applied as a percentage of the previous row (in the tax table) amount or total.
+ - Actual (as mentioned).
+- Account Head: The Account ledger under which this tax will be booked
+- Cost Center: If the tax / charge is an income (like shipping) it needs to be booked against - a Cost Center.
+- Description: Description of the tax (that will be printed in invoices / quotes).
+- Rate: Tax rate.
+- Amount: Tax amount.
+- Total: Cumulative total to this point.
+- Enter Row: If based on "Previous Row Total" you can select the row number which will be taken as a base for this calculation (default is the previous row).
+- Is this Tax included in Basic Rate?: If you check this, it means that this tax will not be shown below the item table, but will be included in the rate in your main item table. This is useful where you want give a flat price (inclusive of all taxes) price to your customers.
+
+Once your setup your template, you can now select this in your sales transactions.
+
+## Purchase Taxes and Charges Master
+
+Similar to your Sales Taxes and Charges Master is the Purchase Taxes and Charges Master.
+
+This is the tax template that you can use in your Purchase Orders and Purchase Invoices. If you have value added taxes (VAT), where you pay to the government the difference between your incoming and outgoing taxes, you can select the same Account that you use for sales taxes.
+
+The columns in this table are similar to the Sales Taxes and Charges Master with the difference as follows:
+
+Consider Tax or Charge for: In this section you can specify if the tax / charge is only for valuation (not a part of total) or only for total (does not add value to the item) or for both.
diff --git a/docs/docs.user.tools.calendar.md b/docs/docs.user.tools.calendar.md
new file mode 100644
index 0000000..bf2923a
--- /dev/null
+++ b/docs/docs.user.tools.calendar.md
@@ -0,0 +1,6 @@
+---
+{
+ "_label": "Calendar"
+}
+---
+The Calendar is a tool where you can create and share Events and also see auto-generated events from the system.
diff --git a/docs/docs.user.tools.form_tools.md b/docs/docs.user.tools.form_tools.md
new file mode 100644
index 0000000..30ebf57
--- /dev/null
+++ b/docs/docs.user.tools.form_tools.md
@@ -0,0 +1,16 @@
+---
+{
+ "_label": "Collaborating around Forms"
+}
+---
+### Email
+
+You can email any transaction from the system by clicking on the “Email” button in the right sidebar. A log of all your sent emails will be maintained in Communication.
+
+### Comments
+
+Comments are a great way to add information about a transaction that is not a part of the transactions. Like some background information etc. Comments can be added in the right sidebar.
+
+### Tags
+
+Like Assignments and Comments, you can also add your own tags to each type of transactions. These tags can help you search a document and also classify it. ERPNext will also show you all the important tags in in the document list.
diff --git a/docs/docs.user.tools.md b/docs/docs.user.tools.md
new file mode 100644
index 0000000..f040c22
--- /dev/null
+++ b/docs/docs.user.tools.md
@@ -0,0 +1,14 @@
+---
+{
+ "_label": "Collaboration Tools",
+ "_toc": [
+ "docs.user.tools.todo",
+ "docs.user.tools.form_tools",
+ "docs.user.tools.messages",
+ "docs.user.tools.notes"
+ ]
+}
+---
+We live in an era when people are very comfortable communicating, discussing, asking, assigning work and getting feedback electronically. The internet acts a great medium to collaborate on work too. Taking this concept into ERP system, we have designed a bunch of tools whereby you can Assign transactions, manage your To Dos, share and maintain a Calendar, maintain a company wise Knowledge Base, Tag and Comment on transactions and send your Orders, Invoices etc via Email. You can also send instant messages to other users using the Messaging tool.
+
+These tools are integrated into all aspects of the product so that you can effectively manage your data and collaborate with your co-workers.
\ No newline at end of file
diff --git a/docs/docs.user.tools.messages.md b/docs/docs.user.tools.messages.md
new file mode 100644
index 0000000..ea24146
--- /dev/null
+++ b/docs/docs.user.tools.messages.md
@@ -0,0 +1,6 @@
+---
+{
+ "_label": "Messages"
+}
+---
+You can send and receive messages from the system by using the Messages tool. If you send a message to a user, and the user is logged in, it will appear as a popup message and the unread messages counter in the top toolbar will be updated.
diff --git a/docs/docs.user.tools.notes.md b/docs/docs.user.tools.notes.md
new file mode 100644
index 0000000..fcb8fce
--- /dev/null
+++ b/docs/docs.user.tools.notes.md
@@ -0,0 +1,5 @@
+---
+{
+ "_label": "Notes"
+}
+---
\ No newline at end of file
diff --git a/docs/docs.user.tools.todo.md b/docs/docs.user.tools.todo.md
new file mode 100644
index 0000000..6421a5c
--- /dev/null
+++ b/docs/docs.user.tools.todo.md
@@ -0,0 +1,23 @@
+---
+{
+ "_label": "Assignment and To Do"
+}
+---
+### Assignment
+
+You can assign any transaction to any user by clicking on the “Assign” button on the right hand column and adding a user.
+
+Step 1: Click on the Assign To Button
+
+Step 2: Add the User and other details
+
+This transaction will appear in:
+
+The To-do list of the user whom this is assigned to in “My List” section
+In the “Assigned by me” section of the user who as assigned this activity.
+
+### To Do
+
+To Do is a simple tool where all the activities assigned to you and assigned by you are listed. You can also add your own to-do items in the list.
+
+
diff --git a/docs/docs.user.website.blog.md b/docs/docs.user.website.blog.md
new file mode 100644
index 0000000..cc58fbd
--- /dev/null
+++ b/docs/docs.user.website.blog.md
@@ -0,0 +1,16 @@
+---
+{
+ "_label": "Blog"
+}
+---
+Blogs are a great way to share your thoughts about your business and keep your customers and readers updated of what you are up to.
+
+In the age of internet, writing assumes a lot more importance is because when people come to your website, they want to be read about your product and you.
+
+To create a new blog, just create a new Blog from:
+
+> Website > Blog > New Blog
+
+You can format the blog using the same Markdown format
+
+You can access your blog by going to the page “blog.html”
diff --git a/docs/docs.user.website.md b/docs/docs.user.website.md
new file mode 100644
index 0000000..ff88c02
--- /dev/null
+++ b/docs/docs.user.website.md
@@ -0,0 +1,32 @@
+---
+{
+ "_label": "Setting up your Website / Webshop",
+ "_toc": [
+ "docs.user.website.setup",
+ "docs.user.website.web_page",
+ "docs.user.website.style",
+ "docs.user.website.blog"
+ ]
+}
+---
+Websites are a core component of any business and having a good website usually means:
+
+- Lot of money.
+- Hard to update.
+- Not interactive.
+
+Unless you are a web designer yourself.
+
+Would not it be nice if there was a way to update your product catalog on your site automatically from your ERP?
+
+We thought exactly the same and hence built a small Website Development app right inside or ERPNext! Using ERPNext’s Website module, you can
+
+1. Create Web Pages
+1. Write a Blog
+1. Publish your Product Catalog using the Item master
+
+We will soon be adding a shopping cart facility so that your customers can place orders and pay you online!
+
+Though not necessary, to make a good website, you might have to know a bit of HTML / CSS or hire the services of a professional. The good part is that once this is setup, you can add and edit content, blogs and products directly from your ERP.
+
+> The ERPNext website (www.erpnext.com) is generated from the Website Module! In the world of startups, its called eating-your-own-dog-food!
\ No newline at end of file
diff --git a/docs/docs.user.website.setup.md b/docs/docs.user.website.setup.md
new file mode 100644
index 0000000..23df928
--- /dev/null
+++ b/docs/docs.user.website.setup.md
@@ -0,0 +1,48 @@
+---
+{
+ "_label": "Website Setup"
+}
+---
+## Layout
+
+#### Top Bar
+
+The header has two main parts, the “Brand” or the logo section and the menu items. These menu items can directly link to Web Pages or the Blogs page or Products page. The standard Website header bar is with black background.
+
+#### Background
+
+The website is generated using a standard width of 900 pixels and has a page “effect”. You can set a background color or image to enhance the effect of the page.
+
+#### Content
+
+The inner content of your pages has a width of 800px and if it is a two-column layout like Blog, it will have a width of 540 px.
+
+#### Footer
+
+The footer section contains a list of links (this is where you typical put links like “Contact Us”, “Terms and Conditions” etc) and the name of your company.
+
+---
+
+## Defining Menus and Home Page
+
+To define the Top Bar Menus, Brand, Footers and Home Page, go to:
+
+> Website > Website Settings
+
+#### Top Menu
+
+Add each top menu item on a new link.
+In the label column, add the label of the item.
+In the URL column, enter the name of the page or a full URL. If you want a new Web Page to open, just put the “Page Name” + “.html”. (URL is simply a web address like “http://google.com”)
+
+Similarly you can also set the Footer section to contain links. If you want to have links appear as a drop-down under another link, just add the name of the parent menu in “Parent Label”.
+
+#### Brand
+
+To set your brand, create a logo with a transparent background and white foreground of roughly height 24px and length of 150px, attach it to the Website Settings page, and add it in your Brand section as an image as follows:
+
+---
+
+##### What is Website Analytics?
+
+Website analytics help you track each visitor on your website. The analytics will tell you from which country, at what time, and what pages the visitor viewed. This will help you understand who your visitors are and what are they looking for. There are many analytics engines available and the most popular and Free service is Google Analytics. We definitely recommend using one of them to gain insight into your website visitors.
\ No newline at end of file
diff --git a/docs/docs.user.website.style.md b/docs/docs.user.website.style.md
new file mode 100644
index 0000000..83854e0
--- /dev/null
+++ b/docs/docs.user.website.style.md
@@ -0,0 +1,23 @@
+---
+{
+ "_label": "Styling the Website"
+}
+---
+You can set some basic styles to your page using the styles feature.
+
+#### Background
+
+You can either set a solid background by selecting a color.
+You can attach a file and select it in the “Background Image” box.
+
+#### Fonts
+
+Fonts: Font family of your body text (includes some Open Source fonts).
+Font-size: Font-size of your website body text (large is good).
+Heading Font: Font family of your headings.
+
+Apart from this you can also add custom style rules using CSS
+
+#### Custom CSS
+
+There are tons of CSS rules and tricks that fall out of scope of this manual. But you could add your own style to certain elements like h1, h2 etc and also create your own style classes that you can use in elements in your body content.
\ No newline at end of file
diff --git a/docs/docs.user.website.web_page.md b/docs/docs.user.website.web_page.md
new file mode 100644
index 0000000..30c9acd
--- /dev/null
+++ b/docs/docs.user.website.web_page.md
@@ -0,0 +1,24 @@
+---
+{
+ "_label": "Web Pages"
+}
+---
+Static Content like your Home Page, About Us, Contact Us, Terms pages can be created using the Web Page. To create a new Web Page, go to:
+
+> Website > Web Page > New Web Page
+
+#### Title
+
+The first thing to set is the title of your page. The title has the maximum weight for search engines so choose a title that reflects the keywords that you are targeting for your audience.
+
+#### Content
+
+After selecting your layout, you can add content (text, images, etc) to each of your content boxes. You can add content in Markdown or HTML format. Read the section on how to format using Markdown for more details.
+
+#### Page Link
+
+The web link to your page will be the value of the “Page Name” field + “.html”. For example if your page name is contact-us, the web link of your page will be yoursite.com/contact-us.html.
+
+#### Images
+
+You can attach images to your web page and show them using the <img> HTML tag or using markdown format. the link for your file will be files/filename
\ No newline at end of file
diff --git a/patches/february_2013/remove_gl_mapper.py b/patches/february_2013/remove_gl_mapper.py
index 7771104..7d248d3 100644
--- a/patches/february_2013/remove_gl_mapper.py
+++ b/patches/february_2013/remove_gl_mapper.py
@@ -1,4 +1,7 @@
def execute():
import webnotes
- for mapper in webnotes.conn.sql("""select name from `tabGL Mapper`"""):
- webnotes.delete_doc("GL Mapper", mapper[0])
\ No newline at end of file
+ try:
+ for mapper in webnotes.conn.sql("""select name from `tabGL Mapper`"""):
+ webnotes.delete_doc("GL Mapper", mapper[0])
+ except Exception, e:
+ pass
\ No newline at end of file
diff --git a/setup/doctype/authorization_control/README.md b/setup/doctype/authorization_control/README.md
new file mode 100644
index 0000000..6a85177
--- /dev/null
+++ b/setup/doctype/authorization_control/README.md
@@ -0,0 +1 @@
+Tool to define Authorization Rules (limits above which only specified roles have right to Submit).
\ No newline at end of file
diff --git a/setup/doctype/authorization_rule/README.md b/setup/doctype/authorization_rule/README.md
new file mode 100644
index 0000000..3cee161
--- /dev/null
+++ b/setup/doctype/authorization_rule/README.md
@@ -0,0 +1 @@
+Rule to define limits on transactions, above which only specified Role can Submit.
\ No newline at end of file
diff --git a/setup/doctype/backup_manager/README.md b/setup/doctype/backup_manager/README.md
new file mode 100644
index 0000000..4f037bf
--- /dev/null
+++ b/setup/doctype/backup_manager/README.md
@@ -0,0 +1 @@
+Settings to manage automated backups to third party tools like Dropbox and Google Drive.
\ No newline at end of file
diff --git a/setup/doctype/brand/README.md b/setup/doctype/brand/README.md
new file mode 100644
index 0000000..2d84c2c
--- /dev/null
+++ b/setup/doctype/brand/README.md
@@ -0,0 +1 @@
+Brand of an Item.
\ No newline at end of file
diff --git a/setup/doctype/company/README.md b/setup/doctype/company/README.md
new file mode 100644
index 0000000..e74e477
--- /dev/null
+++ b/setup/doctype/company/README.md
@@ -0,0 +1 @@
+Company against which all transactions are made. This is not the Customer or Supplier, this is the company that is the host of the system. Multiple companies can be created as host companies with each user having a different right.
\ No newline at end of file
diff --git a/setup/doctype/contact_control/README.md b/setup/doctype/contact_control/README.md
new file mode 100644
index 0000000..ca98eff
--- /dev/null
+++ b/setup/doctype/contact_control/README.md
@@ -0,0 +1 @@
+[To deprecate] Common scripts for Contacts.
\ No newline at end of file
diff --git a/setup/doctype/country/README.md b/setup/doctype/country/README.md
new file mode 100644
index 0000000..0e3f46c
--- /dev/null
+++ b/setup/doctype/country/README.md
@@ -0,0 +1 @@
+Country Master.
\ No newline at end of file
diff --git a/setup/doctype/currency/README.md b/setup/doctype/currency/README.md
new file mode 100644
index 0000000..3e1558e
--- /dev/null
+++ b/setup/doctype/currency/README.md
@@ -0,0 +1 @@
+Currency Master with details about abbreviation, symbol etc.
\ No newline at end of file
diff --git a/setup/doctype/customer_group/README.md b/setup/doctype/customer_group/README.md
new file mode 100644
index 0000000..43ca4b7
--- /dev/null
+++ b/setup/doctype/customer_group/README.md
@@ -0,0 +1 @@
+Customer classification (tree).
\ No newline at end of file
diff --git a/setup/doctype/email_digest/README.md b/setup/doctype/email_digest/README.md
new file mode 100644
index 0000000..6928796
--- /dev/null
+++ b/setup/doctype/email_digest/README.md
@@ -0,0 +1 @@
+Details of automated daily, weekly, monthly digests sent to users.
\ No newline at end of file
diff --git a/setup/doctype/email_settings/README.md b/setup/doctype/email_settings/README.md
new file mode 100644
index 0000000..a666902
--- /dev/null
+++ b/setup/doctype/email_settings/README.md
@@ -0,0 +1 @@
+Settings for outgoing emails (SMTP), Support Ticket (POP).
\ No newline at end of file
diff --git a/setup/doctype/features_setup/README.md b/setup/doctype/features_setup/README.md
new file mode 100644
index 0000000..4bdea47
--- /dev/null
+++ b/setup/doctype/features_setup/README.md
@@ -0,0 +1 @@
+Settings for enabling / disabling certain features that will result in smaller forms.
\ No newline at end of file
diff --git a/setup/doctype/global_defaults/README.md b/setup/doctype/global_defaults/README.md
new file mode 100644
index 0000000..5304c25
--- /dev/null
+++ b/setup/doctype/global_defaults/README.md
@@ -0,0 +1 @@
+Global defaults and settings for various modules.
\ No newline at end of file
diff --git a/setup/doctype/item_group/README.md b/setup/doctype/item_group/README.md
new file mode 100644
index 0000000..2fbe85e
--- /dev/null
+++ b/setup/doctype/item_group/README.md
@@ -0,0 +1 @@
+Item classification (tree).
\ No newline at end of file
diff --git a/setup/doctype/item_group/item_group.py b/setup/doctype/item_group/item_group.py
index 1ff3d4a..ef3c408 100644
--- a/setup/doctype/item_group/item_group.py
+++ b/setup/doctype/item_group/item_group.py
@@ -38,14 +38,7 @@
from webnotes.webutils import update_page_name
# webpage updates
page_name = self.doc.name
- if webnotes.conn.get_value("Product Settings", None,
- "default_product_category")==self.doc.name:
- page_name = "products"
- from webnotes.webutils import clear_cache
- clear_cache()
-
update_page_name(self.doc, page_name)
-
invalidate_cache_for(self.doc.name)
elif self.doc.page_name:
diff --git a/setup/doctype/jobs_email_settings/README.md b/setup/doctype/jobs_email_settings/README.md
new file mode 100644
index 0000000..8314c55
--- /dev/null
+++ b/setup/doctype/jobs_email_settings/README.md
@@ -0,0 +1 @@
+Settings to extract job applications via email (POP).
\ No newline at end of file
diff --git a/setup/doctype/market_segment/__init__.py b/setup/doctype/market_segment/__init__.py
deleted file mode 100644
index baffc48..0000000
--- a/setup/doctype/market_segment/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-from __future__ import unicode_literals
diff --git a/setup/doctype/market_segment/locale/_messages_doc.json b/setup/doctype/market_segment/locale/_messages_doc.json
deleted file mode 100644
index fa85763..0000000
--- a/setup/doctype/market_segment/locale/_messages_doc.json
+++ /dev/null
@@ -1,7 +0,0 @@
-[
- "Trash Reason",
- "Segment Name",
- "Setup",
- "Details",
- "Market Segment"
-]
\ No newline at end of file
diff --git a/setup/doctype/market_segment/locale/ar-doc.json b/setup/doctype/market_segment/locale/ar-doc.json
deleted file mode 100644
index 2767c84..0000000
--- a/setup/doctype/market_segment/locale/ar-doc.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "Details": "\u062a\u0641\u0627\u0635\u064a\u0644",
- "Market Segment": "\u0633\u0648\u0642 \u0627\u0644\u0642\u0637\u0627\u0639",
- "Segment Name": "\u0627\u0644\u062c\u0632\u0621 \u0627\u0633\u0645",
- "Setup": "\u0627\u0644\u0625\u0639\u062f\u0627\u062f",
- "Trash Reason": "\u0627\u0644\u0633\u0628\u0628 \u0627\u0644\u0642\u0645\u0627\u0645\u0629"
-}
\ No newline at end of file
diff --git a/setup/doctype/market_segment/locale/de-doc.json b/setup/doctype/market_segment/locale/de-doc.json
deleted file mode 100644
index f8ad0b8..0000000
--- a/setup/doctype/market_segment/locale/de-doc.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "Details": "Details",
- "Market Segment": "Market Segment",
- "Segment Name": "Segment Name",
- "Setup": "Setup",
- "Trash Reason": "Trash Reason"
-}
\ No newline at end of file
diff --git a/setup/doctype/market_segment/locale/es-doc.json b/setup/doctype/market_segment/locale/es-doc.json
deleted file mode 100644
index adfb9d2..0000000
--- a/setup/doctype/market_segment/locale/es-doc.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "Details": "Detalles",
- "Market Segment": "Sector de mercado",
- "Segment Name": "Segmento Nombre",
- "Setup": "Disposici\u00f3n",
- "Trash Reason": "Trash Raz\u00f3n"
-}
\ No newline at end of file
diff --git a/setup/doctype/market_segment/locale/fr-doc.json b/setup/doctype/market_segment/locale/fr-doc.json
deleted file mode 100644
index 3b58224..0000000
--- a/setup/doctype/market_segment/locale/fr-doc.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "Details": "D\u00e9tails",
- "Market Segment": "Segment de march\u00e9",
- "Segment Name": "Nom du segment",
- "Setup": "Installation",
- "Trash Reason": "Raison Corbeille"
-}
\ No newline at end of file
diff --git a/setup/doctype/market_segment/locale/hi-doc.json b/setup/doctype/market_segment/locale/hi-doc.json
deleted file mode 100644
index dba08f4..0000000
--- a/setup/doctype/market_segment/locale/hi-doc.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "Details": "\u0935\u093f\u0935\u0930\u0923",
- "Market Segment": "\u092c\u093e\u091c\u093e\u0930 \u0916\u0902\u0921",
- "Segment Name": "\u0916\u0923\u094d\u0921 \u0928\u093e\u092e",
- "Setup": "\u0935\u094d\u092f\u0935\u0938\u094d\u0925\u093e",
- "Trash Reason": "\u091f\u094d\u0930\u0948\u0936 \u0915\u093e\u0930\u0923"
-}
\ No newline at end of file
diff --git a/setup/doctype/market_segment/locale/hr-doc.json b/setup/doctype/market_segment/locale/hr-doc.json
deleted file mode 100644
index 9a3f5df..0000000
--- a/setup/doctype/market_segment/locale/hr-doc.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "Details": "Detalji",
- "Market Segment": "Tr\u017ei\u0161ni segment",
- "Segment Name": "Segment Ime",
- "Setup": "Postavljanje",
- "Trash Reason": "Otpad Razlog"
-}
\ No newline at end of file
diff --git a/setup/doctype/market_segment/locale/nl-doc.json b/setup/doctype/market_segment/locale/nl-doc.json
deleted file mode 100644
index 2299482..0000000
--- a/setup/doctype/market_segment/locale/nl-doc.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "Details": "Details",
- "Market Segment": "Marktsegment",
- "Segment Name": "Segment Naam",
- "Setup": "Setup",
- "Trash Reason": "Trash Reden"
-}
\ No newline at end of file
diff --git a/setup/doctype/market_segment/locale/pt-BR-doc.json b/setup/doctype/market_segment/locale/pt-BR-doc.json
deleted file mode 100644
index d22b033..0000000
--- a/setup/doctype/market_segment/locale/pt-BR-doc.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "Details": "Detalhes",
- "Market Segment": "Segmento de mercado",
- "Segment Name": "Nome do Segmento",
- "Setup": "Configura\u00e7\u00e3o",
- "Trash Reason": "Raz\u00e3o de p\u00f4r no lixo"
-}
\ No newline at end of file
diff --git a/setup/doctype/market_segment/locale/pt-doc.json b/setup/doctype/market_segment/locale/pt-doc.json
deleted file mode 100644
index 7b46049..0000000
--- a/setup/doctype/market_segment/locale/pt-doc.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "Details": "Detalhes",
- "Market Segment": "Segmento de mercado",
- "Segment Name": "Nome segmento",
- "Setup": "Instala\u00e7\u00e3o",
- "Trash Reason": "Raz\u00e3o lixo"
-}
\ No newline at end of file
diff --git a/setup/doctype/market_segment/locale/sr-doc.json b/setup/doctype/market_segment/locale/sr-doc.json
deleted file mode 100644
index 45456cd..0000000
--- a/setup/doctype/market_segment/locale/sr-doc.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "Details": "\u0414\u0435\u0442\u0430\u0459\u0438",
- "Market Segment": "\u0421\u0435\u0433\u043c\u0435\u043d\u0442 \u0442\u0440\u0436\u0438\u0448\u0442\u0430",
- "Segment Name": "\u0421\u0435\u0433\u043c\u0435\u043d\u0442 \u041d\u0430\u0437\u0438\u0432",
- "Setup": "\u041d\u0430\u043c\u0435\u0448\u0442\u0430\u0459\u043a\u0430",
- "Trash Reason": "\u0421\u043c\u0435\u045b\u0435 \u0420\u0430\u0437\u043b\u043e\u0433"
-}
\ No newline at end of file
diff --git a/setup/doctype/market_segment/locale/ta-doc.json b/setup/doctype/market_segment/locale/ta-doc.json
deleted file mode 100644
index b797c54..0000000
--- a/setup/doctype/market_segment/locale/ta-doc.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "Details": "\u0bb5\u0bbf\u0bb5\u0bb0\u0bae\u0bcd",
- "Market Segment": "\u0b9a\u0ba8\u0bcd\u0ba4\u0bc8 \u0baa\u0bbf\u0bb0\u0bbf\u0bb5\u0bc1",
- "Segment Name": "\u0baa\u0bbf\u0bb0\u0bbf\u0bb5\u0bbf\u0bb2\u0bcd \u0baa\u0bc6\u0baf\u0bb0\u0bcd",
- "Setup": "\u0b85\u0bae\u0bc8\u0baa\u0bcd\u0baa\u0bc1 \u0bae\u0bc1\u0bb1\u0bc8",
- "Trash Reason": "\u0b95\u0bc1\u0baa\u0bcd\u0baa\u0bc8 \u0b95\u0bbe\u0bb0\u0ba3\u0bae\u0bcd"
-}
\ No newline at end of file
diff --git a/setup/doctype/market_segment/locale/th-doc.json b/setup/doctype/market_segment/locale/th-doc.json
deleted file mode 100644
index 42144b2..0000000
--- a/setup/doctype/market_segment/locale/th-doc.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "Details": "\u0e23\u0e32\u0e22\u0e25\u0e30\u0e40\u0e2d\u0e35\u0e22\u0e14",
- "Market Segment": "\u0e2a\u0e48\u0e27\u0e19\u0e15\u0e25\u0e32\u0e14",
- "Segment Name": "\u0e0a\u0e37\u0e48\u0e2d\u0e2a\u0e48\u0e27\u0e19",
- "Setup": "\u0e01\u0e32\u0e23\u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07",
- "Trash Reason": "\u0e40\u0e2b\u0e15\u0e38\u0e1c\u0e25\u0e16\u0e31\u0e07\u0e02\u0e22\u0e30"
-}
\ No newline at end of file
diff --git a/setup/doctype/market_segment/market_segment.py b/setup/doctype/market_segment/market_segment.py
deleted file mode 100644
index 7f48feb..0000000
--- a/setup/doctype/market_segment/market_segment.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-from __future__ import unicode_literals
-import webnotes
-
-class DocType:
- def __init__(self, d, dl):
- self.doc, self.doclist = d, dl
\ No newline at end of file
diff --git a/setup/doctype/market_segment/market_segment.txt b/setup/doctype/market_segment/market_segment.txt
deleted file mode 100644
index a5da467..0000000
--- a/setup/doctype/market_segment/market_segment.txt
+++ /dev/null
@@ -1,56 +0,0 @@
-[
- {
- "creation": "2013-01-10 16:34:23",
- "docstatus": 0,
- "modified": "2013-01-22 14:47:03",
- "modified_by": "Administrator",
- "owner": "Administrator"
- },
- {
- "autoname": "field:segment_name",
- "doctype": "DocType",
- "in_create": 1,
- "module": "Setup",
- "name": "__common__",
- "name_case": "Title Case",
- "read_only": 0
- },
- {
- "doctype": "DocField",
- "name": "__common__",
- "parent": "Market Segment",
- "parentfield": "fields",
- "parenttype": "DocType",
- "permlevel": 0
- },
- {
- "doctype": "DocType",
- "name": "Market Segment"
- },
- {
- "doctype": "DocField",
- "fieldname": "trash_reason",
- "fieldtype": "Small Text",
- "label": "Trash Reason",
- "oldfieldname": "trash_reason",
- "oldfieldtype": "Small Text",
- "read_only": 1
- },
- {
- "doctype": "DocField",
- "fieldname": "segment_name",
- "fieldtype": "Data",
- "label": "Segment Name",
- "oldfieldname": "segment_name",
- "oldfieldtype": "Data",
- "reqd": 1
- },
- {
- "doctype": "DocField",
- "fieldname": "details",
- "fieldtype": "Text",
- "label": "Details",
- "oldfieldname": "details",
- "oldfieldtype": "Text"
- }
-]
\ No newline at end of file
diff --git a/setup/doctype/naming_series/README.md b/setup/doctype/naming_series/README.md
new file mode 100644
index 0000000..5a9b8ca
--- /dev/null
+++ b/setup/doctype/naming_series/README.md
@@ -0,0 +1 @@
+Tool to set numbering (naming) series for various DocTypes.
\ No newline at end of file
diff --git a/setup/doctype/naming_series_options/__init__.py b/setup/doctype/naming_series_options/__init__.py
deleted file mode 100644
index baffc48..0000000
--- a/setup/doctype/naming_series_options/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-from __future__ import unicode_literals
diff --git a/setup/doctype/naming_series_options/locale/_messages_doc.json b/setup/doctype/naming_series_options/locale/_messages_doc.json
deleted file mode 100644
index fc18b56..0000000
--- a/setup/doctype/naming_series_options/locale/_messages_doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-[
- "Naming Series Options",
- "Setup",
- "Doc Type",
- "Series Options"
-]
\ No newline at end of file
diff --git a/setup/doctype/naming_series_options/locale/ar-doc.json b/setup/doctype/naming_series_options/locale/ar-doc.json
deleted file mode 100644
index f79d1d2..0000000
--- a/setup/doctype/naming_series_options/locale/ar-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Doc Type": "\u0646\u0648\u0639 \u0627\u0644\u0648\u062b\u064a\u0642\u0629",
- "Naming Series Options": "\u062e\u064a\u0627\u0631\u0627\u062a \u062a\u0633\u0645\u064a\u0629 \u0627\u0644\u0633\u0644\u0633\u0644\u0629",
- "Series Options": "\u0633\u0644\u0633\u0644\u0629 \u062e\u064a\u0627\u0631\u0627\u062a",
- "Setup": "\u0627\u0644\u0625\u0639\u062f\u0627\u062f"
-}
\ No newline at end of file
diff --git a/setup/doctype/naming_series_options/locale/de-doc.json b/setup/doctype/naming_series_options/locale/de-doc.json
deleted file mode 100644
index c07d638..0000000
--- a/setup/doctype/naming_series_options/locale/de-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Doc Type": "Doc Type",
- "Naming Series Options": "Benennen Optionen Series",
- "Series Options": "Serie Optionen",
- "Setup": "Setup"
-}
\ No newline at end of file
diff --git a/setup/doctype/naming_series_options/locale/es-doc.json b/setup/doctype/naming_series_options/locale/es-doc.json
deleted file mode 100644
index b1e1209..0000000
--- a/setup/doctype/naming_series_options/locale/es-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Doc Type": "Tipo Doc.",
- "Naming Series Options": "Nombrar Opciones de serie",
- "Series Options": "Opciones de serie",
- "Setup": "Disposici\u00f3n"
-}
\ No newline at end of file
diff --git a/setup/doctype/naming_series_options/locale/fr-doc.json b/setup/doctype/naming_series_options/locale/fr-doc.json
deleted file mode 100644
index 53a24be..0000000
--- a/setup/doctype/naming_series_options/locale/fr-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Doc Type": "Doc Type d'",
- "Naming Series Options": "Nommer Options des s\u00e9ries",
- "Series Options": "Options des s\u00e9ries",
- "Setup": "Installation"
-}
\ No newline at end of file
diff --git a/setup/doctype/naming_series_options/locale/hi-doc.json b/setup/doctype/naming_series_options/locale/hi-doc.json
deleted file mode 100644
index e970fe4..0000000
--- a/setup/doctype/naming_series_options/locale/hi-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Doc Type": "\u0921\u0949\u0915\u094d\u091f\u0930 \u0915\u0947 \u092a\u094d\u0930\u0915\u093e\u0930",
- "Naming Series Options": "\u0936\u094d\u0930\u0943\u0902\u0916\u0932\u093e \u0935\u093f\u0915\u0932\u094d\u092a \u0928\u093e\u092e\u0915\u0930\u0923",
- "Series Options": "\u0936\u094d\u0930\u0943\u0902\u0916\u0932\u093e \u0935\u093f\u0915\u0932\u094d\u092a",
- "Setup": "\u0935\u094d\u092f\u0935\u0938\u094d\u0925\u093e"
-}
\ No newline at end of file
diff --git a/setup/doctype/naming_series_options/locale/hr-doc.json b/setup/doctype/naming_series_options/locale/hr-doc.json
deleted file mode 100644
index 7dc2fb6..0000000
--- a/setup/doctype/naming_series_options/locale/hr-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Doc Type": "Doc Tip",
- "Naming Series Options": "Imenovanje Serija isporuke",
- "Series Options": "Serija Opcije",
- "Setup": "Postavljanje"
-}
\ No newline at end of file
diff --git a/setup/doctype/naming_series_options/locale/nl-doc.json b/setup/doctype/naming_series_options/locale/nl-doc.json
deleted file mode 100644
index 0f6114e..0000000
--- a/setup/doctype/naming_series_options/locale/nl-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Doc Type": "Doc Type",
- "Naming Series Options": "Benoemen Reeksopties",
- "Series Options": "Reeksopties",
- "Setup": "Setup"
-}
\ No newline at end of file
diff --git a/setup/doctype/naming_series_options/locale/pt-BR-doc.json b/setup/doctype/naming_series_options/locale/pt-BR-doc.json
deleted file mode 100644
index 080f44d..0000000
--- a/setup/doctype/naming_series_options/locale/pt-BR-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Doc Type": "Tipo do Documento",
- "Naming Series Options": "Op\u00e7\u00f5es das S\u00e9ries nomeadas",
- "Series Options": "Op\u00e7\u00f5es de S\u00e9ries",
- "Setup": "Configura\u00e7\u00e3o"
-}
\ No newline at end of file
diff --git a/setup/doctype/naming_series_options/locale/pt-doc.json b/setup/doctype/naming_series_options/locale/pt-doc.json
deleted file mode 100644
index 76d9465..0000000
--- a/setup/doctype/naming_series_options/locale/pt-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Doc Type": "Tipo Doc",
- "Naming Series Options": "Nomeando S\u00e9rie Op\u00e7\u00f5es",
- "Series Options": "Op\u00e7\u00f5es de S\u00e9rie",
- "Setup": "Instala\u00e7\u00e3o"
-}
\ No newline at end of file
diff --git a/setup/doctype/naming_series_options/locale/sr-doc.json b/setup/doctype/naming_series_options/locale/sr-doc.json
deleted file mode 100644
index df84b8e..0000000
--- a/setup/doctype/naming_series_options/locale/sr-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Doc Type": "\u0414\u043e\u043a \u0422\u0438\u043f",
- "Naming Series Options": "\u0418\u043c\u0435\u043d\u043e\u0432\u0430\u045a\u0435 \u0441\u0435\u0440\u0438\u0458\u0435 \u041e\u043f\u0446\u0438\u0458\u0435",
- "Series Options": "\u0421\u0435\u0440\u0438\u0458\u0430 \u041e\u043f\u0446\u0438\u0458\u0435",
- "Setup": "\u041d\u0430\u043c\u0435\u0448\u0442\u0430\u0459\u043a\u0430"
-}
\ No newline at end of file
diff --git a/setup/doctype/naming_series_options/locale/ta-doc.json b/setup/doctype/naming_series_options/locale/ta-doc.json
deleted file mode 100644
index 0b4bb46..0000000
--- a/setup/doctype/naming_series_options/locale/ta-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Doc Type": "Doc \u0bb5\u0b95\u0bc8",
- "Naming Series Options": "\u0ba4\u0bc6\u0bbe\u0b9f\u0bb0\u0bcd \u0bb5\u0bbf\u0bb0\u0bc1\u0baa\u0bcd\u0baa\u0b99\u0bcd\u0b95\u0bb3\u0bcd \u0baa\u0bc6\u0baf\u0bb0\u0bbf\u0b9f\u0bc1\u0bae\u0bcd",
- "Series Options": "\u0ba4\u0bc6\u0bbe\u0b9f\u0bb0\u0bcd \u0bb5\u0bbf\u0bb0\u0bc1\u0baa\u0bcd\u0baa\u0b99\u0bcd\u0b95\u0bb3\u0bcd",
- "Setup": "\u0b85\u0bae\u0bc8\u0baa\u0bcd\u0baa\u0bc1 \u0bae\u0bc1\u0bb1\u0bc8"
-}
\ No newline at end of file
diff --git a/setup/doctype/naming_series_options/locale/th-doc.json b/setup/doctype/naming_series_options/locale/th-doc.json
deleted file mode 100644
index 0202a37..0000000
--- a/setup/doctype/naming_series_options/locale/th-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Doc Type": "\u0e1b\u0e23\u0e30\u0e40\u0e20\u0e17 Doc",
- "Naming Series Options": "\u0e01\u0e32\u0e23\u0e15\u0e31\u0e49\u0e07\u0e0a\u0e37\u0e48\u0e2d\u0e15\u0e31\u0e27\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e0a\u0e38\u0e14",
- "Series Options": "\u0e15\u0e31\u0e27\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e0a\u0e38\u0e14",
- "Setup": "\u0e01\u0e32\u0e23\u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07"
-}
\ No newline at end of file
diff --git a/setup/doctype/naming_series_options/naming_series_options.py b/setup/doctype/naming_series_options/naming_series_options.py
deleted file mode 100644
index 7f48feb..0000000
--- a/setup/doctype/naming_series_options/naming_series_options.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-from __future__ import unicode_literals
-import webnotes
-
-class DocType:
- def __init__(self, d, dl):
- self.doc, self.doclist = d, dl
\ No newline at end of file
diff --git a/setup/doctype/naming_series_options/naming_series_options.txt b/setup/doctype/naming_series_options/naming_series_options.txt
deleted file mode 100644
index c95af3d..0000000
--- a/setup/doctype/naming_series_options/naming_series_options.txt
+++ /dev/null
@@ -1,63 +0,0 @@
-[
- {
- "creation": "2012-03-27 14:36:21",
- "docstatus": 0,
- "modified": "2012-03-27 14:36:21",
- "modified_by": "Administrator",
- "owner": "Administrator"
- },
- {
- "autoname": "__NSO.#####",
- "doctype": "DocType",
- "in_create": 1,
- "module": "Setup",
- "name": "__common__",
- "read_only": 0,
- "section_style": "Simple",
- "show_in_menu": 0,
- "version": 5
- },
- {
- "doctype": "DocField",
- "name": "__common__",
- "parent": "Naming Series Options",
- "parentfield": "fields",
- "parenttype": "DocType",
- "permlevel": 0
- },
- {
- "doctype": "DocPerm",
- "name": "__common__",
- "parent": "Naming Series Options",
- "parentfield": "permissions",
- "parenttype": "DocType",
- "permlevel": 0,
- "read": 1,
- "report": 1,
- "role": "System Manager"
- },
- {
- "doctype": "DocType",
- "name": "Naming Series Options"
- },
- {
- "doctype": "DocPerm"
- },
- {
- "doctype": "DocField",
- "fieldname": "doc_type",
- "fieldtype": "Data",
- "label": "Doc Type",
- "oldfieldname": "doc_type",
- "oldfieldtype": "Data",
- "search_index": 1
- },
- {
- "doctype": "DocField",
- "fieldname": "series_options",
- "fieldtype": "Text",
- "label": "Series Options",
- "oldfieldname": "series_options",
- "oldfieldtype": "Text"
- }
-]
\ No newline at end of file
diff --git a/setup/doctype/notification_control/README.md b/setup/doctype/notification_control/README.md
new file mode 100644
index 0000000..3c411b7
--- /dev/null
+++ b/setup/doctype/notification_control/README.md
@@ -0,0 +1 @@
+Tool to automatically prompt sending of Email on Submission of various records.
\ No newline at end of file
diff --git a/setup/doctype/permission_control/locale/_messages_doc.json b/setup/doctype/permission_control/locale/_messages_doc.json
deleted file mode 100644
index c0b34c9..0000000
--- a/setup/doctype/permission_control/locale/_messages_doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-[
- "Permission Control",
- "Setup"
-]
\ No newline at end of file
diff --git a/setup/doctype/permission_control/locale/ar-doc.json b/setup/doctype/permission_control/locale/ar-doc.json
deleted file mode 100644
index a20cda3..0000000
--- a/setup/doctype/permission_control/locale/ar-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Permission Control": "\u0625\u0630\u0646 \u0627\u0644\u062a\u062d\u0643\u0645",
- "Setup": "\u0627\u0644\u0625\u0639\u062f\u0627\u062f"
-}
\ No newline at end of file
diff --git a/setup/doctype/permission_control/locale/de-doc.json b/setup/doctype/permission_control/locale/de-doc.json
deleted file mode 100644
index ca1bf25..0000000
--- a/setup/doctype/permission_control/locale/de-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Permission Control": "Permission Steuerung",
- "Setup": "Setup"
-}
\ No newline at end of file
diff --git a/setup/doctype/permission_control/locale/es-doc.json b/setup/doctype/permission_control/locale/es-doc.json
deleted file mode 100644
index c938e9c..0000000
--- a/setup/doctype/permission_control/locale/es-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Permission Control": "Permiso de Control",
- "Setup": "Disposici\u00f3n"
-}
\ No newline at end of file
diff --git a/setup/doctype/permission_control/locale/fr-doc.json b/setup/doctype/permission_control/locale/fr-doc.json
deleted file mode 100644
index d5001ab..0000000
--- a/setup/doctype/permission_control/locale/fr-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Permission Control": "L'autorisation Contr\u00f4le",
- "Setup": "Installation"
-}
\ No newline at end of file
diff --git a/setup/doctype/permission_control/locale/hi-doc.json b/setup/doctype/permission_control/locale/hi-doc.json
deleted file mode 100644
index 0e180c2..0000000
--- a/setup/doctype/permission_control/locale/hi-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Permission Control": "\u0905\u0928\u0941\u092e\u0924\u093f \u0928\u093f\u092f\u0902\u0924\u094d\u0930\u0923",
- "Setup": "\u0935\u094d\u092f\u0935\u0938\u094d\u0925\u093e"
-}
\ No newline at end of file
diff --git a/setup/doctype/permission_control/locale/hr-doc.json b/setup/doctype/permission_control/locale/hr-doc.json
deleted file mode 100644
index 7f2e06e..0000000
--- a/setup/doctype/permission_control/locale/hr-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Permission Control": "Dopu\u0161tenje kontrola",
- "Setup": "Postavljanje"
-}
\ No newline at end of file
diff --git a/setup/doctype/permission_control/locale/nl-doc.json b/setup/doctype/permission_control/locale/nl-doc.json
deleted file mode 100644
index 6597802..0000000
--- a/setup/doctype/permission_control/locale/nl-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Permission Control": "Toestemming Controle",
- "Setup": "Setup"
-}
\ No newline at end of file
diff --git a/setup/doctype/permission_control/locale/pt-BR-doc.json b/setup/doctype/permission_control/locale/pt-BR-doc.json
deleted file mode 100644
index aaec649..0000000
--- a/setup/doctype/permission_control/locale/pt-BR-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Permission Control": "Controle de Permiss\u00e3o",
- "Setup": "Configura\u00e7\u00e3o"
-}
\ No newline at end of file
diff --git a/setup/doctype/permission_control/locale/pt-doc.json b/setup/doctype/permission_control/locale/pt-doc.json
deleted file mode 100644
index 8652cfc..0000000
--- a/setup/doctype/permission_control/locale/pt-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Permission Control": "Controle de permiss\u00e3o",
- "Setup": "Instala\u00e7\u00e3o"
-}
\ No newline at end of file
diff --git a/setup/doctype/permission_control/locale/sr-doc.json b/setup/doctype/permission_control/locale/sr-doc.json
deleted file mode 100644
index 69eac91..0000000
--- a/setup/doctype/permission_control/locale/sr-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Permission Control": "\u0414\u043e\u0437\u0432\u043e\u043b\u0430 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0435",
- "Setup": "\u041d\u0430\u043c\u0435\u0448\u0442\u0430\u0459\u043a\u0430"
-}
\ No newline at end of file
diff --git a/setup/doctype/permission_control/locale/ta-doc.json b/setup/doctype/permission_control/locale/ta-doc.json
deleted file mode 100644
index a9b5db0..0000000
--- a/setup/doctype/permission_control/locale/ta-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Permission Control": "\u0b85\u0ba9\u0bc1\u0bae\u0ba4\u0bbf \u0b95\u0b9f\u0bcd\u0b9f\u0bc1\u0baa\u0bcd\u0baa\u0bbe\u0b9f\u0bc1",
- "Setup": "\u0b85\u0bae\u0bc8\u0baa\u0bcd\u0baa\u0bc1 \u0bae\u0bc1\u0bb1\u0bc8"
-}
\ No newline at end of file
diff --git a/setup/doctype/permission_control/locale/th-doc.json b/setup/doctype/permission_control/locale/th-doc.json
deleted file mode 100644
index fdb7c4f..0000000
--- a/setup/doctype/permission_control/locale/th-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Permission Control": "\u0e01\u0e32\u0e23\u0e04\u0e27\u0e1a\u0e04\u0e38\u0e21\u0e01\u0e32\u0e23\u0e2d\u0e19\u0e38\u0e0d\u0e32\u0e15",
- "Setup": "\u0e01\u0e32\u0e23\u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07"
-}
\ No newline at end of file
diff --git a/setup/doctype/price_list/README.md b/setup/doctype/price_list/README.md
new file mode 100644
index 0000000..353b97c
--- /dev/null
+++ b/setup/doctype/price_list/README.md
@@ -0,0 +1 @@
+Item Price List master. Price Lists can be defined per Country, Currency.
\ No newline at end of file
diff --git a/setup/doctype/price_list_country/README.md b/setup/doctype/price_list_country/README.md
new file mode 100644
index 0000000..c2966e3
--- /dev/null
+++ b/setup/doctype/price_list_country/README.md
@@ -0,0 +1 @@
+Countries where parent Price List is valid.
\ No newline at end of file
diff --git a/setup/doctype/print_heading/README.md b/setup/doctype/print_heading/README.md
new file mode 100644
index 0000000..2cd60a4
--- /dev/null
+++ b/setup/doctype/print_heading/README.md
@@ -0,0 +1 @@
+Custom title for print main heading. e.g. "Pro Forma Invoice"
\ No newline at end of file
diff --git a/setup/doctype/quotation_lost_reason/README.md b/setup/doctype/quotation_lost_reason/README.md
new file mode 100644
index 0000000..a4309ce
--- /dev/null
+++ b/setup/doctype/quotation_lost_reason/README.md
@@ -0,0 +1 @@
+Reason master for losing quotations.
\ No newline at end of file
diff --git a/setup/doctype/sales_browser_control/__init__.py b/setup/doctype/sales_browser_control/__init__.py
deleted file mode 100644
index baffc48..0000000
--- a/setup/doctype/sales_browser_control/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-from __future__ import unicode_literals
diff --git a/setup/doctype/sales_browser_control/locale/_messages_doc.json b/setup/doctype/sales_browser_control/locale/_messages_doc.json
deleted file mode 100644
index 7418dd5..0000000
--- a/setup/doctype/sales_browser_control/locale/_messages_doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-[
- "Setup",
- "Sales Browser Control"
-]
\ No newline at end of file
diff --git a/setup/doctype/sales_browser_control/locale/ar-doc.json b/setup/doctype/sales_browser_control/locale/ar-doc.json
deleted file mode 100644
index fa24002..0000000
--- a/setup/doctype/sales_browser_control/locale/ar-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Sales Browser Control": "\u0645\u0628\u064a\u0639\u0627\u062a \u0645\u062a\u0635\u0641\u062d \u0627\u0644\u062a\u062d\u0643\u0645",
- "Setup": "\u0627\u0644\u0625\u0639\u062f\u0627\u062f"
-}
\ No newline at end of file
diff --git a/setup/doctype/sales_browser_control/locale/de-doc.json b/setup/doctype/sales_browser_control/locale/de-doc.json
deleted file mode 100644
index 83242fa..0000000
--- a/setup/doctype/sales_browser_control/locale/de-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Sales Browser Control": "Vertrieb Browser Control",
- "Setup": "Setup"
-}
\ No newline at end of file
diff --git a/setup/doctype/sales_browser_control/locale/es-doc.json b/setup/doctype/sales_browser_control/locale/es-doc.json
deleted file mode 100644
index afd8363..0000000
--- a/setup/doctype/sales_browser_control/locale/es-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Sales Browser Control": "Ventas control de explorador",
- "Setup": "Disposici\u00f3n"
-}
\ No newline at end of file
diff --git a/setup/doctype/sales_browser_control/locale/fr-doc.json b/setup/doctype/sales_browser_control/locale/fr-doc.json
deleted file mode 100644
index 33d177b..0000000
--- a/setup/doctype/sales_browser_control/locale/fr-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Sales Browser Control": "Contr\u00f4le de navigateur ventes",
- "Setup": "Installation"
-}
\ No newline at end of file
diff --git a/setup/doctype/sales_browser_control/locale/hi-doc.json b/setup/doctype/sales_browser_control/locale/hi-doc.json
deleted file mode 100644
index 9c3bf75..0000000
--- a/setup/doctype/sales_browser_control/locale/hi-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Sales Browser Control": "\u092c\u093f\u0915\u094d\u0930\u0940 \u092c\u094d\u0930\u093e\u0909\u091c\u093c\u0930 \u0928\u093f\u092f\u0902\u0924\u094d\u0930\u0923",
- "Setup": "\u0935\u094d\u092f\u0935\u0938\u094d\u0925\u093e"
-}
\ No newline at end of file
diff --git a/setup/doctype/sales_browser_control/locale/hr-doc.json b/setup/doctype/sales_browser_control/locale/hr-doc.json
deleted file mode 100644
index 0fcdc335..0000000
--- a/setup/doctype/sales_browser_control/locale/hr-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Sales Browser Control": "Prodaja Preglednik kontrole",
- "Setup": "Postavljanje"
-}
\ No newline at end of file
diff --git a/setup/doctype/sales_browser_control/locale/nl-doc.json b/setup/doctype/sales_browser_control/locale/nl-doc.json
deleted file mode 100644
index 7d75044..0000000
--- a/setup/doctype/sales_browser_control/locale/nl-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Sales Browser Control": "Verkoop Browser Control",
- "Setup": "Setup"
-}
\ No newline at end of file
diff --git a/setup/doctype/sales_browser_control/locale/pt-BR-doc.json b/setup/doctype/sales_browser_control/locale/pt-BR-doc.json
deleted file mode 100644
index 154046d..0000000
--- a/setup/doctype/sales_browser_control/locale/pt-BR-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Sales Browser Control": "Controle do Navegador de Vendas",
- "Setup": "Configura\u00e7\u00e3o"
-}
\ No newline at end of file
diff --git a/setup/doctype/sales_browser_control/locale/pt-doc.json b/setup/doctype/sales_browser_control/locale/pt-doc.json
deleted file mode 100644
index cdb8d70..0000000
--- a/setup/doctype/sales_browser_control/locale/pt-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Sales Browser Control": "Vendas controle de navegador",
- "Setup": "Instala\u00e7\u00e3o"
-}
\ No newline at end of file
diff --git a/setup/doctype/sales_browser_control/locale/sr-doc.json b/setup/doctype/sales_browser_control/locale/sr-doc.json
deleted file mode 100644
index 9fdecb2..0000000
--- a/setup/doctype/sales_browser_control/locale/sr-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Sales Browser Control": "\u041f\u0440\u043e\u0434\u0430\u0458\u0430 \u0411\u0440\u043e\u0432\u0441\u0435\u0440 \u041a\u043e\u043d\u0442\u0440\u043e\u043b\u0430",
- "Setup": "\u041d\u0430\u043c\u0435\u0448\u0442\u0430\u0459\u043a\u0430"
-}
\ No newline at end of file
diff --git a/setup/doctype/sales_browser_control/locale/ta-doc.json b/setup/doctype/sales_browser_control/locale/ta-doc.json
deleted file mode 100644
index e6fed2c..0000000
--- a/setup/doctype/sales_browser_control/locale/ta-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Sales Browser Control": "\u0bb5\u0bbf\u0bb1\u0bcd\u0baa\u0ba9\u0bc8 \u0b89\u0bb2\u0bbe\u0bb5\u0bbf \u0b95\u0b9f\u0bcd\u0b9f\u0bc1\u0baa\u0bcd\u0baa\u0bbe\u0b9f\u0bc1",
- "Setup": "\u0b85\u0bae\u0bc8\u0baa\u0bcd\u0baa\u0bc1 \u0bae\u0bc1\u0bb1\u0bc8"
-}
\ No newline at end of file
diff --git a/setup/doctype/sales_browser_control/locale/th-doc.json b/setup/doctype/sales_browser_control/locale/th-doc.json
deleted file mode 100644
index 957d597..0000000
--- a/setup/doctype/sales_browser_control/locale/th-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Sales Browser Control": "\u0e04\u0e27\u0e1a\u0e04\u0e38\u0e21\u0e40\u0e1a\u0e23\u0e32\u0e27\u0e4c\u0e40\u0e0b\u0e2d\u0e23\u0e4c\u0e22\u0e2d\u0e14\u0e02\u0e32\u0e22",
- "Setup": "\u0e01\u0e32\u0e23\u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07"
-}
\ No newline at end of file
diff --git a/setup/doctype/sales_browser_control/sales_browser_control.py b/setup/doctype/sales_browser_control/sales_browser_control.py
deleted file mode 100644
index ae9338f..0000000
--- a/setup/doctype/sales_browser_control/sales_browser_control.py
+++ /dev/null
@@ -1,226 +0,0 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-from __future__ import unicode_literals
-import webnotes
-
-from webnotes.utils import cstr
-from webnotes.model import db_exists
-from webnotes.model.doc import Document
-from webnotes.model.bean import copy_doclist
-from webnotes.model.code import get_obj
-from webnotes import msgprint
-
-sql = webnotes.conn.sql
-
-
-
-class DocType:
- def __init__(self,doc,doclist=[]):
- self.doc = doc
- self.doclist = doclist
-
- #=============================================================================================
- def get_record_list(self,arg):
-
- parent, type = arg.split(',')
- pt_col = "parent_"+type.replace(' ','_').lower()
-
- cl = sql("select name,is_group from `tab%s` where docstatus != 2 and %s ='%s' order by is_group desc"%(type,pt_col,parent),as_dict=1)
-
- return {'parent':parent, 'cl':cl}
-
- #=============================================================================================
- # --------get root level records like all territories, all sales person etc---------
- def get_fl_node(self,arg):
-
- pt_col = "parent_"+arg.replace(' ','_').lower()
- cl = sql("select name,is_group from `tab%s` where docstatus !=2 and %s=''"%(arg,pt_col),as_dict=1)
- return {'cl':cl}
-
- #=============================================================================================
- def add_node(self,arg):
- arg = eval(arg)
- node_title = arg['node_title']
- n = Document(node_title)
- for d in arg.keys():
- if d != 'node_title':
- n.fields[d]=arg[d]
- n.old_parent = ''
- n_obj = get_obj(doc=n)
-
- n_obj.validate()
-
- n_obj.doc.save(1)
-
- n_obj.on_update()
-
- return n_obj.doc.name
-
- #=============================================================================================
- def trash_record(self,arg):
- name,type = arg.split(',')
-
- #validation for trash of default record
- if not type == 'Sales Person':
- field = 'default_'+type.lower().replace(' ','_')
- chk = sql("select value from `tabSingles` where doctype = 'Global Defaults' and field = '%s' and value = '%s'"%(field,name))
- if chk:
- msgprint("'%s' record is set as a default %s in Global Defaults. Please change default %s then try to trash '%s' record."%(name,type.lower(), type.lower(), name))
- raise Exception
-
-
- res = sql("select t1.name from `tab%s` t1, `tab%s` t2 where t1.lft > t2.lft and t1.rgt < t2.rgt and t1.docstatus != 2 and t2.name = '%s'"%(type,type,name))
- if res:
- msgprint("You can not trashed %s as it contains other nodes."%name)
- raise Exception
-
-
- sql("update `tab%s` set docstatus = 2 where name = '%s'"%(type,name))
-
- #=============================================================================================
- def get_parent_lst(self,type):
- par_lst = [r[0] for r in sql("select name from `tab%s` where is_group = 'Yes' and docstatus != 2"%type)]
- return par_lst
-
- #=============================================================================================
- def get_record(self,arg):
-
- name, type = arg.split(',')
-
- dict1 = {'Territory':'parent_territory','Customer Group':'parent_customer_group','Item Group':'parent_item_group','Sales Person':'parent_sales_person'}
-
- parent_name = dict1[type]
-
- query ="select name,"+dict1[type]+",is_group,rgt,lft from `tab"+cstr(type)+"` where name = '%s'"
-
- sv = sql(query%(cstr(name)))
-
-
- par_lst = [r[0] for r in sql("select distinct name from `tab"+cstr(type)+"` where docstatus !=2 and (rgt > %s or lft < %s) and is_group='Yes'"%(sv[0][3],sv[0][4]))]
-
- dict2 = {}
- dict2['name']=sv[0][0]
- dict2['parent']=cstr(sv[0][1])
- dict2['parent_lst']=par_lst
- dict2['is_group']=sv[0][2]
-
- return dict2
-
- #=============================================================================================
- def edit_node(self,arg):
- arg = eval(arg)
- nt = arg['node_title']
-
- nm = nt == 'Territory' and arg['territory_name'] or nt == 'Sales Person' and arg['sales_person_name'] or nt=='Item Group' and arg['item_group_name'] or nt =='Customer Group' and arg['customer_group_name'] or ''
-
- n_obj = get_obj(nt,nm)
- for d in arg.keys():
- if d != 'node_title':
- n_obj.doc.fields[d]=arg[d]
-
- n_obj.doc.save()
- n_obj.on_update()
-
-
- #=============== validation ======================================================================================
-
- def mvalidate(self,args):
-
- r = eval(args)
-
- if r['lft'] == 0 and r['action'] != 'Create':
- n = sql("select lft,rgt from `tab%s` where name = '%s'"%(r['node_title'],r['nm']))
- r['lft'] = n[0][0]
- r['rgt'] = n[0][1]
-
- if r['action'] == 'Update':
- #-----------------validate if current node has child node----------------------------------
- v1 = self.val_group(r)
- if v1 == 'true': return 'true'
-
-
- #-------------------validation for parent sales person cannot be his child node------------
- v1 = self.val_prt(r)
- if v1 == 'true': return 'true'
-
- #--------if current record has set as default record in manage account then should not allow to change 'has child node' to 'yes'
- v1 = self.group_changed(r)
- if v1 == 'true': return 'true'
-
- elif r['action'] == 'Create':
- #-------------------validation - record is already exist--------------------------------
- v1 = self.duplicate_rcd(r)
-
- if v1 == 'true': return 'true'
-
- #-------------------------------------------------
- v1 = self.trash_rcd(r)
- if v1 == 'true': return 'true'
-
- return 'false'
- #-----------------validate if current node has child node----------------------------------
- #------------------if yes then cannot change current node from group to leaf
- #ON EDIT
- def val_group(self,r):
- if r['is_group'] == 'No':
- ch = sql("select name from `tab%s` where lft>%s and rgt<%s and docstatus != 2"%(r['node_title'],r['lft'],r['rgt']))
- if ch:
- msgprint("You can not changed %s from group to leaf node as it contains other nodes."%r['nm'])
- return 'true'
- return 'false'
-
- #-------------------validation for parent sales person cannot be his child node-------------
- #ON EDIT
- def val_prt(self,r):
- res = sql("select name from `tab%s` where is_group = 'Yes' and docstatus!= 2 and (rgt > %s or lft < %s) and name ='%s' and name !='%s'"%(r['node_title'],r['rgt'],r['lft'],r['parent_nm'],r['nm']))
-
- if not res:
- msgprint("Please enter parent %s."%(r['node_title']))
- return 'true'
- return 'false'
-
- #--------if current record has set as default record then not allowed to changed 'has child node' to 'yes'--------------------
- #--------------------------------------------------------
- #ON EDIT
- def group_changed(self,r):
-
- if r['node_title'] != 'Sales Person' and r['is_group'] == 'Yes':
- field = 'default_'+r['node_title'].lower().replace(' ','_')
- res = sql("select value from `tabSingles` where field = '%s' and value = '%s'"%(field,r['nm']))
- if res:
- msgprint("'%s' record is set as default record in Global Defaults.'Has Child Node' field cannot be changed to 'Yes' as only leaf nodes are allowed in transaction."%(r['nm']))
- return 'true'
-
- return 'false'
- #-------------------validation - record is already exist--------------------------------
- #ON CREATE
- def trash_rcd(self,r):
- res = sql("select name from `tab%s` where name = '%s' and docstatus = 2"%(r['node_title'],r['nm']))
- if res:
- msgprint("'%s' record is trashed. To untrash please go to Setup & click on Trash."%(r['nm']))
- return 'true'
-
- return 'false'
-
- #----------------------------------------------------------------
- #ON CREATE
- def duplicate_rcd(self,r):
- res = sql("select name from `tab%s` where name = '%s' and docstatus != 2"%(r['node_title'],r['nm']))
- if res:
- msgprint("'%s' record is already exist."%(r['nm']))
- return 'true'
- return 'false'
diff --git a/setup/doctype/sales_browser_control/sales_browser_control.txt b/setup/doctype/sales_browser_control/sales_browser_control.txt
deleted file mode 100644
index 6083a31..0000000
--- a/setup/doctype/sales_browser_control/sales_browser_control.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-[
- {
- "creation": "2012-03-27 14:36:23",
- "docstatus": 0,
- "modified": "2012-03-27 14:36:23",
- "modified_by": "Administrator",
- "owner": "Administrator"
- },
- {
- "doctype": "DocType",
- "issingle": 1,
- "module": "Setup",
- "name": "__common__",
- "section_style": "Simple",
- "version": 159
- },
- {
- "doctype": "DocType",
- "name": "Sales Browser Control"
- }
-]
\ No newline at end of file
diff --git a/setup/doctype/sales_email_settings/README.md b/setup/doctype/sales_email_settings/README.md
new file mode 100644
index 0000000..8d7d48f
--- /dev/null
+++ b/setup/doctype/sales_email_settings/README.md
@@ -0,0 +1 @@
+Settings for creating new Communication, Leads from sales inbox like "sales@example.com" via POP3.
\ No newline at end of file
diff --git a/setup/doctype/sales_partner/README.md b/setup/doctype/sales_partner/README.md
new file mode 100644
index 0000000..e285419
--- /dev/null
+++ b/setup/doctype/sales_partner/README.md
@@ -0,0 +1 @@
+Partner / dealer / distributor who sells products (maybe for commission) and for whom targets can be set.
\ No newline at end of file
diff --git a/setup/doctype/sales_partner/sales_partner.py b/setup/doctype/sales_partner/sales_partner.py
index f629bff..285d3a9 100644
--- a/setup/doctype/sales_partner/sales_partner.py
+++ b/setup/doctype/sales_partner/sales_partner.py
@@ -42,9 +42,6 @@
if self.doc.fields[d]:
comp_address += self.doc.fields[d] + "\n"
self.doc.address = comp_address
-
- def check_state(self):
- return "\n" + "\n".join([i[0] for i in sql("select state_name from `tabState` where `tabState`.country='%s' " % self.doc.country)])
def get_contacts(self,nm):
if nm:
diff --git a/setup/doctype/sales_person/README.md b/setup/doctype/sales_person/README.md
new file mode 100644
index 0000000..de5137d
--- /dev/null
+++ b/setup/doctype/sales_person/README.md
@@ -0,0 +1 @@
+Sales User for whom sales targets can be set.
\ No newline at end of file
diff --git a/setup/doctype/series_detail/__init__.py b/setup/doctype/series_detail/__init__.py
deleted file mode 100644
index baffc48..0000000
--- a/setup/doctype/series_detail/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-from __future__ import unicode_literals
diff --git a/setup/doctype/series_detail/locale/_messages_doc.json b/setup/doctype/series_detail/locale/_messages_doc.json
deleted file mode 100644
index 72f4cd3..0000000
--- a/setup/doctype/series_detail/locale/_messages_doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-[
- "Series",
- "Setup",
- "Remove",
- "Series Detail"
-]
\ No newline at end of file
diff --git a/setup/doctype/series_detail/locale/ar-doc.json b/setup/doctype/series_detail/locale/ar-doc.json
deleted file mode 100644
index 24d3bf7..0000000
--- a/setup/doctype/series_detail/locale/ar-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Remove": "\u0646\u0632\u0639",
- "Series": "\u0633\u0644\u0633\u0644\u0629",
- "Series Detail": "\u0633\u0644\u0633\u0644\u0629 \u0627\u0644\u062a\u0641\u0627\u0635\u064a\u0644",
- "Setup": "\u0627\u0644\u0625\u0639\u062f\u0627\u062f"
-}
\ No newline at end of file
diff --git a/setup/doctype/series_detail/locale/de-doc.json b/setup/doctype/series_detail/locale/de-doc.json
deleted file mode 100644
index df28f51..0000000
--- a/setup/doctype/series_detail/locale/de-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Remove": "Entfernen",
- "Series": "Serie",
- "Series Detail": "Series Detailansicht",
- "Setup": "Setup"
-}
\ No newline at end of file
diff --git a/setup/doctype/series_detail/locale/es-doc.json b/setup/doctype/series_detail/locale/es-doc.json
deleted file mode 100644
index 190d029..0000000
--- a/setup/doctype/series_detail/locale/es-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Remove": "Quitar",
- "Series": "Serie",
- "Series Detail": "Serie Detalle",
- "Setup": "Disposici\u00f3n"
-}
\ No newline at end of file
diff --git a/setup/doctype/series_detail/locale/fr-doc.json b/setup/doctype/series_detail/locale/fr-doc.json
deleted file mode 100644
index 6d9b9ab..0000000
--- a/setup/doctype/series_detail/locale/fr-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Remove": "Enlever",
- "Series": "S\u00e9rie",
- "Series Detail": "D\u00e9tail Series",
- "Setup": "Installation"
-}
\ No newline at end of file
diff --git a/setup/doctype/series_detail/locale/hi-doc.json b/setup/doctype/series_detail/locale/hi-doc.json
deleted file mode 100644
index f2dd867..0000000
--- a/setup/doctype/series_detail/locale/hi-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Remove": "\u0939\u091f\u093e\u0928\u093e",
- "Series": "\u0915\u0908",
- "Series Detail": "\u0938\u0940\u0930\u0940\u091c \u0935\u093f\u0938\u094d\u0924\u093e\u0930",
- "Setup": "\u0935\u094d\u092f\u0935\u0938\u094d\u0925\u093e"
-}
\ No newline at end of file
diff --git a/setup/doctype/series_detail/locale/hr-doc.json b/setup/doctype/series_detail/locale/hr-doc.json
deleted file mode 100644
index 6255275..0000000
--- a/setup/doctype/series_detail/locale/hr-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Remove": "Ukloniti",
- "Series": "Serija",
- "Series Detail": "Serija Detalj",
- "Setup": "Postavljanje"
-}
\ No newline at end of file
diff --git a/setup/doctype/series_detail/locale/nl-doc.json b/setup/doctype/series_detail/locale/nl-doc.json
deleted file mode 100644
index 5cefe10..0000000
--- a/setup/doctype/series_detail/locale/nl-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Remove": "Verwijderen",
- "Series": "Serie",
- "Series Detail": "Series Detail",
- "Setup": "Setup"
-}
\ No newline at end of file
diff --git a/setup/doctype/series_detail/locale/pt-BR-doc.json b/setup/doctype/series_detail/locale/pt-BR-doc.json
deleted file mode 100644
index dca7014..0000000
--- a/setup/doctype/series_detail/locale/pt-BR-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Remove": "Remover",
- "Series": "S\u00e9ries",
- "Series Detail": "Detalhe da S\u00e9ries",
- "Setup": "Configura\u00e7\u00e3o"
-}
\ No newline at end of file
diff --git a/setup/doctype/series_detail/locale/pt-doc.json b/setup/doctype/series_detail/locale/pt-doc.json
deleted file mode 100644
index a1112ad..0000000
--- a/setup/doctype/series_detail/locale/pt-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Remove": "Remover",
- "Series": "S\u00e9rie",
- "Series Detail": "Detalhe s\u00e9rie",
- "Setup": "Instala\u00e7\u00e3o"
-}
\ No newline at end of file
diff --git a/setup/doctype/series_detail/locale/sr-doc.json b/setup/doctype/series_detail/locale/sr-doc.json
deleted file mode 100644
index 1e91d35..0000000
--- a/setup/doctype/series_detail/locale/sr-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Remove": "\u0423\u043a\u043b\u043e\u043d\u0438\u0442\u0438",
- "Series": "\u0421\u0435\u0440\u0438\u0458\u0430",
- "Series Detail": "\u0421\u0435\u0440\u0438\u0458\u0430 \u0414\u0435\u0442\u0430\u0459",
- "Setup": "\u041d\u0430\u043c\u0435\u0448\u0442\u0430\u0459\u043a\u0430"
-}
\ No newline at end of file
diff --git a/setup/doctype/series_detail/locale/ta-doc.json b/setup/doctype/series_detail/locale/ta-doc.json
deleted file mode 100644
index c3ec05f..0000000
--- a/setup/doctype/series_detail/locale/ta-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Remove": "\u0ba8\u0bc0\u0b95\u0bcd\u0b95\u0bc1",
- "Series": "\u0ba4\u0bc6\u0bbe\u0b9f\u0bb0\u0bcd",
- "Series Detail": "\u0ba4\u0bc6\u0bbe\u0b9f\u0bb0\u0bcd \u0bb5\u0bbf\u0bb0\u0bbf\u0bb5\u0bbe\u0b95",
- "Setup": "\u0b85\u0bae\u0bc8\u0baa\u0bcd\u0baa\u0bc1 \u0bae\u0bc1\u0bb1\u0bc8"
-}
\ No newline at end of file
diff --git a/setup/doctype/series_detail/locale/th-doc.json b/setup/doctype/series_detail/locale/th-doc.json
deleted file mode 100644
index 4974555..0000000
--- a/setup/doctype/series_detail/locale/th-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Remove": "\u0e16\u0e2d\u0e14",
- "Series": "\u0e0a\u0e38\u0e14",
- "Series Detail": "\u0e23\u0e32\u0e22\u0e25\u0e30\u0e40\u0e2d\u0e35\u0e22\u0e14\u0e0a\u0e38\u0e14",
- "Setup": "\u0e01\u0e32\u0e23\u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07"
-}
\ No newline at end of file
diff --git a/setup/doctype/series_detail/series_detail.py b/setup/doctype/series_detail/series_detail.py
deleted file mode 100644
index 7f48feb..0000000
--- a/setup/doctype/series_detail/series_detail.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-from __future__ import unicode_literals
-import webnotes
-
-class DocType:
- def __init__(self, d, dl):
- self.doc, self.doclist = d, dl
\ No newline at end of file
diff --git a/setup/doctype/series_detail/series_detail.txt b/setup/doctype/series_detail/series_detail.txt
deleted file mode 100644
index 98a5d78..0000000
--- a/setup/doctype/series_detail/series_detail.txt
+++ /dev/null
@@ -1,43 +0,0 @@
-[
- {
- "creation": "2013-02-22 01:27:57",
- "docstatus": 0,
- "modified": "2013-03-07 07:03:32",
- "modified_by": "Administrator",
- "owner": "Administrator"
- },
- {
- "doctype": "DocType",
- "istable": 1,
- "module": "Setup",
- "name": "__common__"
- },
- {
- "doctype": "DocField",
- "name": "__common__",
- "parent": "Series Detail",
- "parentfield": "fields",
- "parenttype": "DocType",
- "permlevel": 0
- },
- {
- "doctype": "DocType",
- "name": "Series Detail"
- },
- {
- "doctype": "DocField",
- "fieldname": "series",
- "fieldtype": "Read Only",
- "label": "Series",
- "oldfieldname": "series",
- "oldfieldtype": "Read Only"
- },
- {
- "doctype": "DocField",
- "fieldname": "remove",
- "fieldtype": "Check",
- "label": "Remove",
- "oldfieldname": "remove",
- "oldfieldtype": "Check"
- }
-]
\ No newline at end of file
diff --git a/setup/doctype/setup_control/README.md b/setup/doctype/setup_control/README.md
new file mode 100644
index 0000000..909fea4
--- /dev/null
+++ b/setup/doctype/setup_control/README.md
@@ -0,0 +1 @@
+Account setup utility on first login.
\ No newline at end of file
diff --git a/setup/doctype/sms_parameter/README.md b/setup/doctype/sms_parameter/README.md
new file mode 100644
index 0000000..5935a39
--- /dev/null
+++ b/setup/doctype/sms_parameter/README.md
@@ -0,0 +1 @@
+SMS query parameter for SMS Settings.
\ No newline at end of file
diff --git a/setup/doctype/sms_settings/README.md b/setup/doctype/sms_settings/README.md
new file mode 100644
index 0000000..4fb4980
--- /dev/null
+++ b/setup/doctype/sms_settings/README.md
@@ -0,0 +1 @@
+Settings for automatically sending SMS from the system.
\ No newline at end of file
diff --git a/setup/doctype/state/__init__.py b/setup/doctype/state/__init__.py
deleted file mode 100644
index baffc48..0000000
--- a/setup/doctype/state/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-from __future__ import unicode_literals
diff --git a/setup/doctype/state/locale/_messages_doc.json b/setup/doctype/state/locale/_messages_doc.json
deleted file mode 100644
index d6beca2..0000000
--- a/setup/doctype/state/locale/_messages_doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-[
- "Country",
- "Setup",
- "State",
- "State Name"
-]
\ No newline at end of file
diff --git a/setup/doctype/state/locale/ar-doc.json b/setup/doctype/state/locale/ar-doc.json
deleted file mode 100644
index 34b18e2..0000000
--- a/setup/doctype/state/locale/ar-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Country": "\u0628\u0644\u062f",
- "Setup": "\u0627\u0644\u0625\u0639\u062f\u0627\u062f",
- "State": "\u062f\u0648\u0644\u0629",
- "State Name": "\u0627\u0633\u0645 \u0648\u0644\u0627\u064a\u0629"
-}
\ No newline at end of file
diff --git a/setup/doctype/state/locale/de-doc.json b/setup/doctype/state/locale/de-doc.json
deleted file mode 100644
index 63f1a81..0000000
--- a/setup/doctype/state/locale/de-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Country": "Land",
- "Setup": "Setup",
- "State": "Zustand",
- "State Name": "State Name"
-}
\ No newline at end of file
diff --git a/setup/doctype/state/locale/es-doc.json b/setup/doctype/state/locale/es-doc.json
deleted file mode 100644
index 5b417bd..0000000
--- a/setup/doctype/state/locale/es-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Country": "Pa\u00eds",
- "Setup": "Disposici\u00f3n",
- "State": "Estado",
- "State Name": "Estado Nombre"
-}
\ No newline at end of file
diff --git a/setup/doctype/state/locale/fr-doc.json b/setup/doctype/state/locale/fr-doc.json
deleted file mode 100644
index 1619e32..0000000
--- a/setup/doctype/state/locale/fr-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Country": "Pays",
- "Setup": "Installation",
- "State": "\u00c9tat",
- "State Name": "Nom de l'\u00c9tat"
-}
\ No newline at end of file
diff --git a/setup/doctype/state/locale/hi-doc.json b/setup/doctype/state/locale/hi-doc.json
deleted file mode 100644
index cf74666..0000000
--- a/setup/doctype/state/locale/hi-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Country": "\u0926\u0947\u0936",
- "Setup": "\u0935\u094d\u092f\u0935\u0938\u094d\u0925\u093e",
- "State": "\u0930\u093e\u091c\u094d\u092f",
- "State Name": "\u0930\u093e\u091c\u094d\u092f \u0915\u093e \u0928\u093e\u092e"
-}
\ No newline at end of file
diff --git a/setup/doctype/state/locale/hr-doc.json b/setup/doctype/state/locale/hr-doc.json
deleted file mode 100644
index 30e6e84..0000000
--- a/setup/doctype/state/locale/hr-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Country": "Zemlja",
- "Setup": "Postavljanje",
- "State": "Dr\u017eava",
- "State Name": "Dr\u017eava Ime"
-}
\ No newline at end of file
diff --git a/setup/doctype/state/locale/nl-doc.json b/setup/doctype/state/locale/nl-doc.json
deleted file mode 100644
index ee4fa32..0000000
--- a/setup/doctype/state/locale/nl-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Country": "Land",
- "Setup": "Setup",
- "State": "Staat",
- "State Name": "Staat Naam"
-}
\ No newline at end of file
diff --git a/setup/doctype/state/locale/pt-BR-doc.json b/setup/doctype/state/locale/pt-BR-doc.json
deleted file mode 100644
index 7c8fa8f..0000000
--- a/setup/doctype/state/locale/pt-BR-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Country": "Pa\u00eds",
- "Setup": "Configura\u00e7\u00e3o",
- "State": "Estado",
- "State Name": "Nome do Estado"
-}
\ No newline at end of file
diff --git a/setup/doctype/state/locale/pt-doc.json b/setup/doctype/state/locale/pt-doc.json
deleted file mode 100644
index 4c56ab4..0000000
--- a/setup/doctype/state/locale/pt-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Country": "Pa\u00eds",
- "Setup": "Instala\u00e7\u00e3o",
- "State": "Estado",
- "State Name": "Nome Estado"
-}
\ No newline at end of file
diff --git a/setup/doctype/state/locale/sr-doc.json b/setup/doctype/state/locale/sr-doc.json
deleted file mode 100644
index 3302a14..0000000
--- a/setup/doctype/state/locale/sr-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Country": "\u0417\u0435\u043c\u0459\u0430",
- "Setup": "\u041d\u0430\u043c\u0435\u0448\u0442\u0430\u0459\u043a\u0430",
- "State": "\u0414\u0440\u0436\u0430\u0432\u0430",
- "State Name": "\u0418\u043c\u0435 \u0434\u0440\u0436\u0430\u0432\u0435"
-}
\ No newline at end of file
diff --git a/setup/doctype/state/locale/ta-doc.json b/setup/doctype/state/locale/ta-doc.json
deleted file mode 100644
index 82d8407..0000000
--- a/setup/doctype/state/locale/ta-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Country": "\u0ba8\u0bbe\u0b9f\u0bc1",
- "Setup": "\u0b85\u0bae\u0bc8\u0baa\u0bcd\u0baa\u0bc1 \u0bae\u0bc1\u0bb1\u0bc8",
- "State": "\u0ba8\u0bbf\u0bb2\u0bc8",
- "State Name": "\u0bae\u0bbe\u0ba8\u0bbf\u0bb2 \u0baa\u0bc6\u0baf\u0bb0\u0bcd"
-}
\ No newline at end of file
diff --git a/setup/doctype/state/locale/th-doc.json b/setup/doctype/state/locale/th-doc.json
deleted file mode 100644
index d41fec9..0000000
--- a/setup/doctype/state/locale/th-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Country": "\u0e1b\u0e23\u0e30\u0e40\u0e17\u0e28",
- "Setup": "\u0e01\u0e32\u0e23\u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07",
- "State": "\u0e23\u0e31\u0e10",
- "State Name": "\u0e0a\u0e37\u0e48\u0e2d\u0e23\u0e31\u0e10"
-}
\ No newline at end of file
diff --git a/setup/doctype/state/state.js b/setup/doctype/state/state.js
deleted file mode 100644
index 3cad944..0000000
--- a/setup/doctype/state/state.js
+++ /dev/null
@@ -1,26 +0,0 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-
-
-//--------- ONLOAD -------------
-cur_frm.cscript.onload = function(doc, cdt, cdn) {
-
-}
-
-cur_frm.cscript.refresh = function(doc, cdt, cdn) {
-
-}
\ No newline at end of file
diff --git a/setup/doctype/state/state.py b/setup/doctype/state/state.py
deleted file mode 100644
index 7f48feb..0000000
--- a/setup/doctype/state/state.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-from __future__ import unicode_literals
-import webnotes
-
-class DocType:
- def __init__(self, d, dl):
- self.doc, self.doclist = d, dl
\ No newline at end of file
diff --git a/setup/doctype/state/state.txt b/setup/doctype/state/state.txt
deleted file mode 100644
index 464622a..0000000
--- a/setup/doctype/state/state.txt
+++ /dev/null
@@ -1,78 +0,0 @@
-[
- {
- "creation": "2012-03-27 14:36:25",
- "docstatus": 0,
- "modified": "2012-03-27 14:36:25",
- "modified_by": "Administrator",
- "owner": "Administrator"
- },
- {
- "autoname": "field:state_name",
- "doctype": "DocType",
- "document_type": "Master",
- "in_create": 0,
- "module": "Setup",
- "name": "__common__",
- "read_only": 0,
- "section_style": "Simple",
- "show_in_menu": 0,
- "version": 14
- },
- {
- "doctype": "DocField",
- "name": "__common__",
- "parent": "State",
- "parentfield": "fields",
- "parenttype": "DocType",
- "permlevel": 0,
- "reqd": 1
- },
- {
- "create": 1,
- "doctype": "DocPerm",
- "name": "__common__",
- "parent": "State",
- "parentfield": "permissions",
- "parenttype": "DocType",
- "permlevel": 0,
- "read": 1,
- "report": 1,
- "write": 1
- },
- {
- "doctype": "DocType",
- "name": "State"
- },
- {
- "doctype": "DocPerm",
- "role": "System Manager"
- },
- {
- "amend": 0,
- "cancel": 0,
- "doctype": "DocPerm",
- "role": "Sales Master Manager",
- "submit": 0
- },
- {
- "doctype": "DocPerm",
- "role": "Purchase Master Manager"
- },
- {
- "doctype": "DocField",
- "fieldname": "state_name",
- "fieldtype": "Data",
- "label": "State Name",
- "oldfieldname": "state_name",
- "oldfieldtype": "Data"
- },
- {
- "doctype": "DocField",
- "fieldname": "country",
- "fieldtype": "Select",
- "label": "Country",
- "oldfieldname": "country",
- "oldfieldtype": "Select",
- "options": "link:Country"
- }
-]
\ No newline at end of file
diff --git a/setup/doctype/supplier_type/README.md b/setup/doctype/supplier_type/README.md
new file mode 100644
index 0000000..0da4c70
--- /dev/null
+++ b/setup/doctype/supplier_type/README.md
@@ -0,0 +1 @@
+Supplier classification.
\ No newline at end of file
diff --git a/setup/doctype/target_detail/README.md b/setup/doctype/target_detail/README.md
new file mode 100644
index 0000000..bcd62c2
--- /dev/null
+++ b/setup/doctype/target_detail/README.md
@@ -0,0 +1 @@
+Target set for Sales Person, Territory or Sales Partner.
\ No newline at end of file
diff --git a/setup/doctype/terms_and_conditions/README.md b/setup/doctype/terms_and_conditions/README.md
new file mode 100644
index 0000000..418d0b3
--- /dev/null
+++ b/setup/doctype/terms_and_conditions/README.md
@@ -0,0 +1 @@
+Order / Contract terms that can be attached to any sale or purchase transaction.
\ No newline at end of file
diff --git a/setup/doctype/territory/README.md b/setup/doctype/territory/README.md
new file mode 100644
index 0000000..041d59b
--- /dev/null
+++ b/setup/doctype/territory/README.md
@@ -0,0 +1 @@
+Territory against with any sale can be tagged and targets can be set.
\ No newline at end of file
diff --git a/setup/doctype/uom/README.md b/setup/doctype/uom/README.md
new file mode 100644
index 0000000..c6fd68a
--- /dev/null
+++ b/setup/doctype/uom/README.md
@@ -0,0 +1 @@
+Unit of Measure (UoM) of an Item.
\ No newline at end of file
diff --git a/setup/doctype/warehouse_type/README.md b/setup/doctype/warehouse_type/README.md
new file mode 100644
index 0000000..ad065d5
--- /dev/null
+++ b/setup/doctype/warehouse_type/README.md
@@ -0,0 +1 @@
+Warehouse classification.
\ No newline at end of file
diff --git a/setup/doctype/workflow_action_detail/__init__.py b/setup/doctype/workflow_action_detail/__init__.py
deleted file mode 100644
index baffc48..0000000
--- a/setup/doctype/workflow_action_detail/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-from __future__ import unicode_literals
diff --git a/setup/doctype/workflow_action_detail/locale/_messages_doc.json b/setup/doctype/workflow_action_detail/locale/_messages_doc.json
deleted file mode 100644
index 6def7f1..0000000
--- a/setup/doctype/workflow_action_detail/locale/_messages_doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-[
- "Field",
- "Setup",
- "Workflow Action Detail",
- "Value"
-]
\ No newline at end of file
diff --git a/setup/doctype/workflow_action_detail/locale/ar-doc.json b/setup/doctype/workflow_action_detail/locale/ar-doc.json
deleted file mode 100644
index 660f78e..0000000
--- a/setup/doctype/workflow_action_detail/locale/ar-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Field": "\u062d\u0642\u0644",
- "Setup": "\u0627\u0644\u0625\u0639\u062f\u0627\u062f",
- "Value": "\u0642\u064a\u0645\u0629",
- "Workflow Action Detail": "\u062a\u0641\u0627\u0635\u064a\u0644 \u0633\u064a\u0631 \u0627\u0644\u0639\u0645\u0644 \u0627\u0644\u0639\u0645\u0644"
-}
\ No newline at end of file
diff --git a/setup/doctype/workflow_action_detail/locale/de-doc.json b/setup/doctype/workflow_action_detail/locale/de-doc.json
deleted file mode 100644
index 3db419a..0000000
--- a/setup/doctype/workflow_action_detail/locale/de-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Field": "Feld",
- "Setup": "Setup",
- "Value": "Wert",
- "Workflow Action Detail": "Workflow-Aktion Details"
-}
\ No newline at end of file
diff --git a/setup/doctype/workflow_action_detail/locale/es-doc.json b/setup/doctype/workflow_action_detail/locale/es-doc.json
deleted file mode 100644
index 90c1ae5..0000000
--- a/setup/doctype/workflow_action_detail/locale/es-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Field": "Campo",
- "Setup": "Disposici\u00f3n",
- "Value": "Valor",
- "Workflow Action Detail": "Detalle de Acci\u00f3n de flujo de trabajo"
-}
\ No newline at end of file
diff --git a/setup/doctype/workflow_action_detail/locale/fr-doc.json b/setup/doctype/workflow_action_detail/locale/fr-doc.json
deleted file mode 100644
index 4aa39e4..0000000
--- a/setup/doctype/workflow_action_detail/locale/fr-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Field": "Champ",
- "Setup": "Installation",
- "Value": "Valeur",
- "Workflow Action Detail": "D\u00e9tail d'action de workflow"
-}
\ No newline at end of file
diff --git a/setup/doctype/workflow_action_detail/locale/hi-doc.json b/setup/doctype/workflow_action_detail/locale/hi-doc.json
deleted file mode 100644
index bd5487d..0000000
--- a/setup/doctype/workflow_action_detail/locale/hi-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Field": "\u0915\u094d\u0937\u0947\u0924\u094d\u0930",
- "Setup": "\u0935\u094d\u092f\u0935\u0938\u094d\u0925\u093e",
- "Value": "\u092e\u0942\u0932\u094d\u092f",
- "Workflow Action Detail": "\u0935\u0930\u094d\u0915\u092b\u093c\u094d\u0932\u094b \u0915\u093e\u0930\u094d\u0930\u0935\u093e\u0908 \u0935\u093f\u0938\u094d\u0924\u093e\u0930"
-}
\ No newline at end of file
diff --git a/setup/doctype/workflow_action_detail/locale/hr-doc.json b/setup/doctype/workflow_action_detail/locale/hr-doc.json
deleted file mode 100644
index 75df7b7..0000000
--- a/setup/doctype/workflow_action_detail/locale/hr-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Field": "Polje",
- "Setup": "Postavljanje",
- "Value": "Vrijednost",
- "Workflow Action Detail": "Workflow Akcija Detalj"
-}
\ No newline at end of file
diff --git a/setup/doctype/workflow_action_detail/locale/nl-doc.json b/setup/doctype/workflow_action_detail/locale/nl-doc.json
deleted file mode 100644
index 4c51a38..0000000
--- a/setup/doctype/workflow_action_detail/locale/nl-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Field": "Veld",
- "Setup": "Setup",
- "Value": "Waarde",
- "Workflow Action Detail": "Workflow Actie Detail"
-}
\ No newline at end of file
diff --git a/setup/doctype/workflow_action_detail/locale/pt-BR-doc.json b/setup/doctype/workflow_action_detail/locale/pt-BR-doc.json
deleted file mode 100644
index 187f25f..0000000
--- a/setup/doctype/workflow_action_detail/locale/pt-BR-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Field": "Campo",
- "Setup": "Configura\u00e7\u00e3o",
- "Value": "Valor",
- "Workflow Action Detail": "Detalhe da A\u00e7\u00e3o do Fluxo de Trabalho"
-}
\ No newline at end of file
diff --git a/setup/doctype/workflow_action_detail/locale/pt-doc.json b/setup/doctype/workflow_action_detail/locale/pt-doc.json
deleted file mode 100644
index 22289ff..0000000
--- a/setup/doctype/workflow_action_detail/locale/pt-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Field": "Campo",
- "Setup": "Instala\u00e7\u00e3o",
- "Value": "Valor",
- "Workflow Action Detail": "Detalhe A\u00e7\u00e3o de fluxo de trabalho"
-}
\ No newline at end of file
diff --git a/setup/doctype/workflow_action_detail/locale/sr-doc.json b/setup/doctype/workflow_action_detail/locale/sr-doc.json
deleted file mode 100644
index d1c31d9..0000000
--- a/setup/doctype/workflow_action_detail/locale/sr-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Field": "\u041f\u043e\u0459\u0435",
- "Setup": "\u041d\u0430\u043c\u0435\u0448\u0442\u0430\u0459\u043a\u0430",
- "Value": "\u0412\u0440\u0435\u0434\u043d\u043e\u0441\u0442",
- "Workflow Action Detail": "\u0412\u043e\u0440\u043a\u0444\u043b\u043e\u0432 \u0410\u043a\u0446\u0438\u0458\u0430 \u0414\u0435\u0442\u0430\u0459"
-}
\ No newline at end of file
diff --git a/setup/doctype/workflow_action_detail/locale/ta-doc.json b/setup/doctype/workflow_action_detail/locale/ta-doc.json
deleted file mode 100644
index 20e5eae..0000000
--- a/setup/doctype/workflow_action_detail/locale/ta-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Field": "\u0baa\u0bc1\u0bb2\u0bae\u0bcd",
- "Setup": "\u0b85\u0bae\u0bc8\u0baa\u0bcd\u0baa\u0bc1 \u0bae\u0bc1\u0bb1\u0bc8",
- "Value": "\u0bae\u0ba4\u0bbf\u0baa\u0bcd\u0baa\u0bc1",
- "Workflow Action Detail": "\u0baa\u0ba3\u0bbf\u0baf\u0bc7\u0bbe\u0b9f\u0bcd\u0b9f\u0bae\u0bcd \u0b85\u0ba4\u0bbf\u0bb0\u0b9f\u0bbf \u0bb5\u0bbf\u0bb0\u0bbf\u0bb5\u0bbe\u0b95"
-}
\ No newline at end of file
diff --git a/setup/doctype/workflow_action_detail/locale/th-doc.json b/setup/doctype/workflow_action_detail/locale/th-doc.json
deleted file mode 100644
index 3727115..0000000
--- a/setup/doctype/workflow_action_detail/locale/th-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Field": "\u0e2a\u0e19\u0e32\u0e21",
- "Setup": "\u0e01\u0e32\u0e23\u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07",
- "Value": "\u0e21\u0e39\u0e25\u0e04\u0e48\u0e32",
- "Workflow Action Detail": "\u0e23\u0e32\u0e22\u0e25\u0e30\u0e40\u0e2d\u0e35\u0e22\u0e14\u0e01\u0e32\u0e23\u0e14\u0e33\u0e40\u0e19\u0e34\u0e19\u0e01\u0e32\u0e23\u0e02\u0e31\u0e49\u0e19\u0e15\u0e2d\u0e19\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19"
-}
\ No newline at end of file
diff --git a/setup/doctype/workflow_action_detail/workflow_action_detail.py b/setup/doctype/workflow_action_detail/workflow_action_detail.py
deleted file mode 100644
index 7f48feb..0000000
--- a/setup/doctype/workflow_action_detail/workflow_action_detail.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-from __future__ import unicode_literals
-import webnotes
-
-class DocType:
- def __init__(self, d, dl):
- self.doc, self.doclist = d, dl
\ No newline at end of file
diff --git a/setup/doctype/workflow_action_detail/workflow_action_detail.txt b/setup/doctype/workflow_action_detail/workflow_action_detail.txt
deleted file mode 100644
index 7393882..0000000
--- a/setup/doctype/workflow_action_detail/workflow_action_detail.txt
+++ /dev/null
@@ -1,45 +0,0 @@
-[
- {
- "creation": "2013-02-22 01:27:59",
- "docstatus": 0,
- "modified": "2013-03-07 07:03:34",
- "modified_by": "Administrator",
- "owner": "swarnalata@webnotestech.com"
- },
- {
- "doctype": "DocType",
- "istable": 1,
- "module": "Setup",
- "name": "__common__"
- },
- {
- "doctype": "DocField",
- "name": "__common__",
- "parent": "Workflow Action Detail",
- "parentfield": "fields",
- "parenttype": "DocType",
- "permlevel": 0,
- "print_width": "200px",
- "width": "200px"
- },
- {
- "doctype": "DocType",
- "name": "Workflow Action Detail"
- },
- {
- "doctype": "DocField",
- "fieldname": "action_field",
- "fieldtype": "Select",
- "label": "Field",
- "oldfieldname": "action_field",
- "oldfieldtype": "Select"
- },
- {
- "doctype": "DocField",
- "fieldname": "action_value",
- "fieldtype": "Data",
- "label": "Value",
- "oldfieldname": "action_value",
- "oldfieldtype": "Data"
- }
-]
\ No newline at end of file
diff --git a/setup/doctype/workflow_engine/__init__.py b/setup/doctype/workflow_engine/__init__.py
deleted file mode 100644
index baffc48..0000000
--- a/setup/doctype/workflow_engine/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-from __future__ import unicode_literals
diff --git a/setup/doctype/workflow_engine/locale/_messages_doc.json b/setup/doctype/workflow_engine/locale/_messages_doc.json
deleted file mode 100644
index f03ed6a..0000000
--- a/setup/doctype/workflow_engine/locale/_messages_doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-[
- "Setup",
- "Workflow Engine"
-]
\ No newline at end of file
diff --git a/setup/doctype/workflow_engine/locale/ar-doc.json b/setup/doctype/workflow_engine/locale/ar-doc.json
deleted file mode 100644
index 21219e8..0000000
--- a/setup/doctype/workflow_engine/locale/ar-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Setup": "\u0627\u0644\u0625\u0639\u062f\u0627\u062f",
- "Workflow Engine": "\u0633\u064a\u0631 \u0627\u0644\u0639\u0645\u0644 \u0627\u0644\u0645\u062d\u0631\u0643"
-}
\ No newline at end of file
diff --git a/setup/doctype/workflow_engine/locale/de-doc.json b/setup/doctype/workflow_engine/locale/de-doc.json
deleted file mode 100644
index 312ccf5..0000000
--- a/setup/doctype/workflow_engine/locale/de-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Setup": "Setup",
- "Workflow Engine": "Workflow Engine"
-}
\ No newline at end of file
diff --git a/setup/doctype/workflow_engine/locale/es-doc.json b/setup/doctype/workflow_engine/locale/es-doc.json
deleted file mode 100644
index 30c9089..0000000
--- a/setup/doctype/workflow_engine/locale/es-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Setup": "Disposici\u00f3n",
- "Workflow Engine": "Workflow Engine"
-}
\ No newline at end of file
diff --git a/setup/doctype/workflow_engine/locale/fr-doc.json b/setup/doctype/workflow_engine/locale/fr-doc.json
deleted file mode 100644
index 2c15fd6..0000000
--- a/setup/doctype/workflow_engine/locale/fr-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Setup": "Installation",
- "Workflow Engine": "Workflow Engine"
-}
\ No newline at end of file
diff --git a/setup/doctype/workflow_engine/locale/hi-doc.json b/setup/doctype/workflow_engine/locale/hi-doc.json
deleted file mode 100644
index f207e7a..0000000
--- a/setup/doctype/workflow_engine/locale/hi-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Setup": "\u0935\u094d\u092f\u0935\u0938\u094d\u0925\u093e",
- "Workflow Engine": "\u0915\u093e\u0930\u094d\u092f\u092a\u094d\u0930\u0935\u093e\u0939 \u0907\u0902\u091c\u0928"
-}
\ No newline at end of file
diff --git a/setup/doctype/workflow_engine/locale/hr-doc.json b/setup/doctype/workflow_engine/locale/hr-doc.json
deleted file mode 100644
index 3003627..0000000
--- a/setup/doctype/workflow_engine/locale/hr-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Setup": "Postavljanje",
- "Workflow Engine": "Workflow motora"
-}
\ No newline at end of file
diff --git a/setup/doctype/workflow_engine/locale/nl-doc.json b/setup/doctype/workflow_engine/locale/nl-doc.json
deleted file mode 100644
index 312ccf5..0000000
--- a/setup/doctype/workflow_engine/locale/nl-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Setup": "Setup",
- "Workflow Engine": "Workflow Engine"
-}
\ No newline at end of file
diff --git a/setup/doctype/workflow_engine/locale/pt-BR-doc.json b/setup/doctype/workflow_engine/locale/pt-BR-doc.json
deleted file mode 100644
index 06298de..0000000
--- a/setup/doctype/workflow_engine/locale/pt-BR-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Setup": "Configura\u00e7\u00e3o",
- "Workflow Engine": "Mecanismo do Fluxo de Trabalho"
-}
\ No newline at end of file
diff --git a/setup/doctype/workflow_engine/locale/pt-doc.json b/setup/doctype/workflow_engine/locale/pt-doc.json
deleted file mode 100644
index e953ceb..0000000
--- a/setup/doctype/workflow_engine/locale/pt-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Setup": "Instala\u00e7\u00e3o",
- "Workflow Engine": "Workflow Engine"
-}
\ No newline at end of file
diff --git a/setup/doctype/workflow_engine/locale/sr-doc.json b/setup/doctype/workflow_engine/locale/sr-doc.json
deleted file mode 100644
index 11b4a1c..0000000
--- a/setup/doctype/workflow_engine/locale/sr-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Setup": "\u041d\u0430\u043c\u0435\u0448\u0442\u0430\u0459\u043a\u0430",
- "Workflow Engine": "\u0412\u043e\u0440\u043a\u0444\u043b\u043e\u0432 \u0415\u043d\u0433\u0438\u043d\u0435"
-}
\ No newline at end of file
diff --git a/setup/doctype/workflow_engine/locale/ta-doc.json b/setup/doctype/workflow_engine/locale/ta-doc.json
deleted file mode 100644
index f9dfc8c..0000000
--- a/setup/doctype/workflow_engine/locale/ta-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Setup": "\u0b85\u0bae\u0bc8\u0baa\u0bcd\u0baa\u0bc1 \u0bae\u0bc1\u0bb1\u0bc8",
- "Workflow Engine": "\u0baa\u0ba3\u0bbf\u0baf\u0bc7\u0bbe\u0b9f\u0bcd\u0b9f\u0bae\u0bcd \u0b8e\u0b9e\u0bcd\u0b9a\u0bbf\u0ba9\u0bcd"
-}
\ No newline at end of file
diff --git a/setup/doctype/workflow_engine/locale/th-doc.json b/setup/doctype/workflow_engine/locale/th-doc.json
deleted file mode 100644
index 95a2e52..0000000
--- a/setup/doctype/workflow_engine/locale/th-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Setup": "\u0e01\u0e32\u0e23\u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07",
- "Workflow Engine": "\u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e22\u0e19\u0e15\u0e4c\u0e40\u0e27\u0e34\u0e23\u0e4c\u0e01\u0e42\u0e1f\u0e25\u0e27\u0e4c"
-}
\ No newline at end of file
diff --git a/setup/doctype/workflow_engine/workflow_engine.py b/setup/doctype/workflow_engine/workflow_engine.py
deleted file mode 100644
index 693027a..0000000
--- a/setup/doctype/workflow_engine/workflow_engine.py
+++ /dev/null
@@ -1,56 +0,0 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-from __future__ import unicode_literals
-import webnotes
-
-from webnotes.model import db_exists
-from webnotes.model.bean import getlist, copy_doclist
-from webnotes.model.code import get_obj
-from webnotes import form, msgprint
-
-sql = webnotes.conn.sql
-
-
-
-class DocType:
- def __init__(self, doc, doclist=[]):
- self.doc, self.doclist = doc, doclist
-
-
- def apply_rule(self,form_obj):
- #msgprint("hello")
- rule_list = sql("select rule_name from `tabWorkflow Rule` where select_form = '%s' and rule_status='Active' order by rule_priority asc" % (form_obj.doc.doctype))
- for rl in rule_list:
- #msgprint(rl[0])
- autho_obj=get_obj("Workflow Rule",rl[0],with_children=1)
- cond_hold = autho_obj.evalute_rule(form_obj)
- #msgprint("cond_hold:" + cond_hold)
- if cond_hold =='Yes':
- self.apply_action(rl[0],form_obj)
- return
-
-
- #if rule holds true then the following action will be taken
- def apply_action(self,rule_no,form_obj):
- rule_obj=get_obj('Workflow Rule',rule_no,with_children=1)
- #msgprint("action")
- for d in getlist(rule_obj.doclist,'workflow_action_details'):
- field_name=sql("select fieldname from tabDocField where parent='%s' and label='%s'" %(form_obj.doc.doctype,d.action_field))[0][0]
- if field_name:
- #msgprint(field_name)
- form_obj.doc.fields[field_name] = d.action_value
- return
\ No newline at end of file
diff --git a/setup/doctype/workflow_engine/workflow_engine.txt b/setup/doctype/workflow_engine/workflow_engine.txt
deleted file mode 100644
index 7103bbf..0000000
--- a/setup/doctype/workflow_engine/workflow_engine.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-[
- {
- "creation": "2012-03-27 14:36:26",
- "docstatus": 0,
- "modified": "2012-03-27 14:36:26",
- "modified_by": "Administrator",
- "owner": "swarnalata@webnotestech.com"
- },
- {
- "doctype": "DocType",
- "issingle": 1,
- "module": "Setup",
- "name": "__common__",
- "section_style": "Simple",
- "show_in_menu": 0,
- "version": 4
- },
- {
- "doctype": "DocType",
- "name": "Workflow Engine"
- }
-]
\ No newline at end of file
diff --git a/setup/doctype/workflow_rule/__init__.py b/setup/doctype/workflow_rule/__init__.py
deleted file mode 100644
index baffc48..0000000
--- a/setup/doctype/workflow_rule/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-from __future__ import unicode_literals
diff --git a/setup/doctype/workflow_rule/locale/_messages_doc.json b/setup/doctype/workflow_rule/locale/_messages_doc.json
deleted file mode 100644
index 191f168..0000000
--- a/setup/doctype/workflow_rule/locale/_messages_doc.json
+++ /dev/null
@@ -1,23 +0,0 @@
-[
- "Extra Condition",
- "No",
- "Select Form",
- "Intro HTML",
- "Raise Exception",
- "Action Detail",
- "Workflow Action Details",
- "Define Rule",
- "Active",
- "Setup",
- "Enter message",
- "Reject HTML",
- "Rule Definition",
- "Yes",
- "Rule Name",
- "Rule Priority",
- "Inactive",
- "Rule Status",
- "Action html",
- "Workflow Rule Details",
- "Workflow Rule"
-]
\ No newline at end of file
diff --git a/setup/doctype/workflow_rule/locale/ar-doc.json b/setup/doctype/workflow_rule/locale/ar-doc.json
deleted file mode 100644
index 1219b6c..0000000
--- a/setup/doctype/workflow_rule/locale/ar-doc.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "Action Detail": "\u062a\u0641\u0627\u0635\u064a\u0644 \u0627\u0644\u0639\u0645\u0644",
- "Action html": "\u0639\u0645\u0644 HTML",
- "Active": "\u0646\u0634\u0637",
- "Define Rule": "\u062a\u0639\u0631\u064a\u0641 \u0627\u0644\u0642\u0627\u0639\u062f\u0629",
- "Enter message": "\u0623\u062f\u062e\u0644 \u0631\u0633\u0627\u0644\u0629",
- "Extra Condition": "\u062d\u0627\u0644\u0629 \u0625\u0636\u0627\u0641\u064a\u0629",
- "Inactive": "\u063a\u064a\u0631 \u0641\u0639\u0627\u0644",
- "Intro HTML": "\u0645\u0642\u062f\u0645\u0629 HTML",
- "No": "\u0644\u0627",
- "Raise Exception": "\u0631\u0641\u0639 \u0627\u0633\u062a\u062b\u0646\u0627\u0621",
- "Reject HTML": "\u0631\u0641\u0636 HTML",
- "Rule Definition": "\u062d\u0643\u0645 \u062a\u0639\u0631\u064a\u0641",
- "Rule Name": "\u062d\u0643\u0645 \u0627\u0633\u0645",
- "Rule Priority": "\u0642\u0627\u0639\u062f\u0629 \u0627\u0644\u0623\u0648\u0644\u0648\u064a\u0629",
- "Rule Status": "\u062d\u0643\u0645 \u0648\u0636\u0639",
- "Select Form": "\u062a\u062d\u062f\u064a\u062f \u0646\u0645\u0648\u0630\u062c",
- "Setup": "\u0627\u0644\u0625\u0639\u062f\u0627\u062f",
- "Workflow Action Details": "\u062a\u0641\u0627\u0635\u064a\u0644 \u0627\u0644\u0639\u0645\u0644 \u0633\u064a\u0631 \u0627\u0644\u0639\u0645\u0644",
- "Workflow Rule": "\u0627\u0644\u0642\u0627\u0639\u062f\u0629 \u0633\u064a\u0631 \u0627\u0644\u0639\u0645\u0644",
- "Workflow Rule Details": "\u062a\u0641\u0627\u0635\u064a\u0644 \u0627\u0644\u0642\u0627\u0639\u062f\u0629 \u0633\u064a\u0631 \u0627\u0644\u0639\u0645\u0644",
- "Yes": "\u0646\u0639\u0645"
-}
\ No newline at end of file
diff --git a/setup/doctype/workflow_rule/locale/de-doc.json b/setup/doctype/workflow_rule/locale/de-doc.json
deleted file mode 100644
index 7b58994..0000000
--- a/setup/doctype/workflow_rule/locale/de-doc.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "Action Detail": "Aktion Details",
- "Action html": "Aktion html",
- "Active": "Aktiv",
- "Define Rule": "Definieren Rule",
- "Enter message": "Geben Sie eine Nachricht",
- "Extra Condition": "Zus\u00e4tzliche Zustand",
- "Inactive": "Inaktiv",
- "Intro HTML": "Intro HTML",
- "No": "Auf",
- "Raise Exception": "Raise Exception",
- "Reject HTML": "Ablehnen HTML",
- "Rule Definition": "Rule Definition",
- "Rule Name": "Name der Regel",
- "Rule Priority": "Priority Rule",
- "Rule Status": "Rule-Status",
- "Select Form": "W\u00e4hlen Sie Formular",
- "Setup": "Setup",
- "Workflow Action Details": "Workflow Action Details",
- "Workflow Rule": "Workflow-Regel",
- "Workflow Rule Details": "Workflow Regeldetails",
- "Yes": "Ja"
-}
\ No newline at end of file
diff --git a/setup/doctype/workflow_rule/locale/es-doc.json b/setup/doctype/workflow_rule/locale/es-doc.json
deleted file mode 100644
index 5556932..0000000
--- a/setup/doctype/workflow_rule/locale/es-doc.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "Action Detail": "Acci\u00f3n Detalle",
- "Action html": "Acci\u00f3n html",
- "Active": "Activo",
- "Define Rule": "Definir regla",
- "Enter message": "Ingrese mensaje",
- "Extra Condition": "Condici\u00f3n adicional",
- "Inactive": "Inactivo",
- "Intro HTML": "Intro HTML",
- "No": "No",
- "Raise Exception": "Levante Excepci\u00f3n",
- "Reject HTML": "Rechazar HTML",
- "Rule Definition": "Definici\u00f3n de regla",
- "Rule Name": "Nombre de la regla",
- "Rule Priority": "Regla de prioridad",
- "Rule Status": "Regla Estado",
- "Select Form": "Seleccione la Forma",
- "Setup": "Disposici\u00f3n",
- "Workflow Action Details": "Detalles de flujo de trabajo de acci\u00f3n",
- "Workflow Rule": "Flujo de trabajo de la Regla",
- "Workflow Rule Details": "Datos Workflow Rule",
- "Yes": "S\u00ed"
-}
\ No newline at end of file
diff --git a/setup/doctype/workflow_rule/locale/fr-doc.json b/setup/doctype/workflow_rule/locale/fr-doc.json
deleted file mode 100644
index cb876db..0000000
--- a/setup/doctype/workflow_rule/locale/fr-doc.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "Action Detail": "D\u00e9tail d'action",
- "Action html": "Html action",
- "Active": "Actif",
- "Define Rule": "D\u00e9finir la r\u00e8gle",
- "Enter message": "Entrez un message",
- "Extra Condition": "Condition suppl\u00e9mentaire",
- "Inactive": "Inactif",
- "Intro HTML": "Intro HTML",
- "No": "Aucun",
- "Raise Exception": "Soulever Exception",
- "Reject HTML": "Rejeter HTML",
- "Rule Definition": "D\u00e9finition de r\u00e8gle",
- "Rule Name": "Nom de la r\u00e8gle",
- "Rule Priority": "Priorit\u00e9 de la r\u00e8gle",
- "Rule Status": "R\u00e8gle Statut",
- "Select Form": "S\u00e9lectionnez le formulaire",
- "Setup": "Installation",
- "Workflow Action Details": "D\u00e9tails des actions de flux de travail",
- "Workflow Rule": "R\u00e8gle de workflow",
- "Workflow Rule Details": "D\u00e9tails de la r\u00e8gle de workflow",
- "Yes": "Oui"
-}
\ No newline at end of file
diff --git a/setup/doctype/workflow_rule/locale/hi-doc.json b/setup/doctype/workflow_rule/locale/hi-doc.json
deleted file mode 100644
index 616089d..0000000
--- a/setup/doctype/workflow_rule/locale/hi-doc.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "Action Detail": "\u0932\u0921\u093c\u093e\u0908 \u0935\u093f\u0938\u094d\u0924\u093e\u0930",
- "Action html": "\u0932\u0921\u093c\u093e\u0908 html",
- "Active": "\u0938\u0915\u094d\u0930\u093f\u092f",
- "Define Rule": "\u0928\u093f\u092f\u092e \u092a\u0930\u093f\u092d\u093e\u0937\u093f\u0924",
- "Enter message": "\u0938\u0902\u0926\u0947\u0936 \u0926\u0930\u094d\u091c \u0915\u0930\u0947\u0902",
- "Extra Condition": "\u0905\u0924\u093f\u0930\u093f\u0915\u094d\u0924 \u0936\u0930\u094d\u0924",
- "Inactive": "\u0928\u093f\u0937\u094d\u0915\u094d\u0930\u093f\u092f",
- "Intro HTML": "\u092a\u0939\u091a\u093e\u0928 HTML",
- "No": "\u0928\u0939\u0940\u0902",
- "Raise Exception": "\u0905\u092a\u0935\u093e\u0926 \u0909\u0920\u093e\u090f\u0901",
- "Reject HTML": "HTML \u0915\u094b \u0905\u0938\u094d\u0935\u0940\u0915\u093e\u0930 \u0915\u0930\u0947\u0902",
- "Rule Definition": "\u0928\u093f\u092f\u092e \u092a\u0930\u093f\u092d\u093e\u0937\u093e",
- "Rule Name": "\u0928\u093f\u092f\u092e \u0915\u093e \u0928\u093e\u092e",
- "Rule Priority": "\u0928\u093f\u092f\u092e \u092a\u094d\u0930\u093e\u0925\u092e\u093f\u0915\u0924\u093e",
- "Rule Status": "\u0928\u093f\u092f\u092e \u0938\u094d\u0925\u093f\u0924\u093f",
- "Select Form": "\u092a\u094d\u0930\u092a\u0924\u094d\u0930 \u0915\u093e \u091a\u092f\u0928",
- "Setup": "\u0935\u094d\u092f\u0935\u0938\u094d\u0925\u093e",
- "Workflow Action Details": "\u0915\u093e\u0930\u094d\u092f\u092a\u094d\u0930\u0935\u093e\u0939 \u0915\u094d\u0930\u093f\u092f\u093e \u0935\u093f\u0935\u0930\u0923",
- "Workflow Rule": "\u0935\u0930\u094d\u0915\u092b\u093c\u094d\u0932\u094b \u0928\u093f\u092f\u092e",
- "Workflow Rule Details": "\u0935\u0930\u094d\u0915\u092b\u093c\u094d\u0932\u094b \u0928\u093f\u092f\u092e \u0935\u093f\u0935\u0930\u0923",
- "Yes": "\u0939\u093e\u0902"
-}
\ No newline at end of file
diff --git a/setup/doctype/workflow_rule/locale/hr-doc.json b/setup/doctype/workflow_rule/locale/hr-doc.json
deleted file mode 100644
index 731d733..0000000
--- a/setup/doctype/workflow_rule/locale/hr-doc.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "Action Detail": "Akcija Detalj",
- "Action html": "Akcija html",
- "Active": "Aktivan",
- "Define Rule": "Definiranje pravila",
- "Enter message": "Unesite poruku",
- "Extra Condition": "Dodatni hotela",
- "Inactive": "Neaktivan",
- "Intro HTML": "Uvod HTML",
- "No": "Ne",
- "Raise Exception": "Podignite Iznimka",
- "Reject HTML": "Odbaciti HTML",
- "Rule Definition": "Pravilo Definicija",
- "Rule Name": "Pravilo Ime",
- "Rule Priority": "Pravilo Prioritet",
- "Rule Status": "Pravilo Status",
- "Select Form": "Odaberite obrazac",
- "Setup": "Postavljanje",
- "Workflow Action Details": "Workflow Akcija Detalji",
- "Workflow Rule": "Workflow Pravilo",
- "Workflow Rule Details": "Workflow Pravilo Detalji",
- "Yes": "Da"
-}
\ No newline at end of file
diff --git a/setup/doctype/workflow_rule/locale/nl-doc.json b/setup/doctype/workflow_rule/locale/nl-doc.json
deleted file mode 100644
index c7169fb..0000000
--- a/setup/doctype/workflow_rule/locale/nl-doc.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "Action Detail": "Actie Detail",
- "Action html": "Actie html",
- "Active": "Actief",
- "Define Rule": "Definieer Rule",
- "Enter message": "Voer bericht",
- "Extra Condition": "Extra Staat",
- "Inactive": "Inactieve",
- "Intro HTML": "Intro HTML",
- "No": "Geen",
- "Raise Exception": "Raise Uitzondering",
- "Reject HTML": "Weigeren HTML",
- "Rule Definition": "Regel Definition",
- "Rule Name": "Regelnaam",
- "Rule Priority": "Regel Prioriteit",
- "Rule Status": "Regel Status",
- "Select Form": "Selecteer Formulier",
- "Setup": "Setup",
- "Workflow Action Details": "Workflow Aktie Details",
- "Workflow Rule": "Workflow Rule",
- "Workflow Rule Details": "Workflow Rule Details",
- "Yes": "Ja"
-}
\ No newline at end of file
diff --git a/setup/doctype/workflow_rule/locale/pt-BR-doc.json b/setup/doctype/workflow_rule/locale/pt-BR-doc.json
deleted file mode 100644
index 38c04372..0000000
--- a/setup/doctype/workflow_rule/locale/pt-BR-doc.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "Action Detail": "Detalhe da a\u00e7\u00e3o",
- "Action html": "A\u00e7\u00e3o html",
- "Active": "Ativo",
- "Define Rule": "Definir regra",
- "Enter message": "Digite a mensagem",
- "Extra Condition": "Condi\u00e7\u00e3o extra",
- "Inactive": "Inativo",
- "Intro HTML": "Intro HTML",
- "No": "N\u00e3o",
- "Raise Exception": "Levantar Exce\u00e7\u00e3o",
- "Reject HTML": "Rejeitar HTML",
- "Rule Definition": "Defini\u00e7\u00e3o da regra",
- "Rule Name": "Nome da regra",
- "Rule Priority": "Prioridade da regra",
- "Rule Status": "Estado da regra",
- "Select Form": "Selecione o Formul\u00e1rio",
- "Setup": "Configura\u00e7\u00e3o",
- "Workflow Action Details": "Detalhes da A\u00e7\u00e3o do Fluxo de Trabalho",
- "Workflow Rule": "Regra do Fluxo de Trabalho",
- "Workflow Rule Details": "Detalhes da Regra do Fluxo de Trabalho",
- "Yes": "Sim"
-}
\ No newline at end of file
diff --git a/setup/doctype/workflow_rule/locale/pt-doc.json b/setup/doctype/workflow_rule/locale/pt-doc.json
deleted file mode 100644
index 745d4e7..0000000
--- a/setup/doctype/workflow_rule/locale/pt-doc.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "Action Detail": "Detalhe a\u00e7\u00e3o",
- "Action html": "A\u00e7\u00e3o html",
- "Active": "Ativo",
- "Define Rule": "Definir regra",
- "Enter message": "Digite a mensagem",
- "Extra Condition": "Condi\u00e7\u00e3o extra",
- "Inactive": "Inativo",
- "Intro HTML": "Intro HTML",
- "No": "N\u00e3o",
- "Raise Exception": "Levante Exce\u00e7\u00e3o",
- "Reject HTML": "Rejeitar HTML",
- "Rule Definition": "Defini\u00e7\u00e3o de regra",
- "Rule Name": "Nome da regra",
- "Rule Priority": "Prioridade regra",
- "Rule Status": "Estado regra",
- "Select Form": "Selecione Formul\u00e1rio",
- "Setup": "Instala\u00e7\u00e3o",
- "Workflow Action Details": "Detalhes da A\u00e7\u00e3o de fluxo de trabalho",
- "Workflow Rule": "Regra de fluxo de trabalho",
- "Workflow Rule Details": "Detalhes do fluxo de trabalho Regra",
- "Yes": "Sim"
-}
\ No newline at end of file
diff --git a/setup/doctype/workflow_rule/locale/sr-doc.json b/setup/doctype/workflow_rule/locale/sr-doc.json
deleted file mode 100644
index 59082b1..0000000
--- a/setup/doctype/workflow_rule/locale/sr-doc.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "Action Detail": "\u0410\u043a\u0446\u0438\u0458\u0430 \u0414\u0435\u0442\u0430\u0459",
- "Action html": "\u0410\u043a\u0446\u0438\u0458\u0430 \u0445\u0442\u043c\u043b",
- "Active": "\u0410\u043a\u0442\u0438\u0432\u0430\u043d",
- "Define Rule": "\u0414\u0435\u0444\u0438\u043d\u0438\u0441\u0430\u045a\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u0430",
- "Enter message": "\u0423\u043d\u0435\u0441\u0438\u0442\u0435 \u043f\u043e\u0440\u0443\u043a\u0443",
- "Extra Condition": "\u0415\u043a\u0442\u0440\u0430 \u0421\u0442\u0430\u045a\u0435",
- "Inactive": "\u041d\u0435\u0430\u043a\u0442\u0438\u0432\u0430\u043d",
- "Intro HTML": "\u0418\u043d\u0442\u0440\u043e \u0425\u0422\u041c\u041b",
- "No": "\u041d\u0435",
- "Raise Exception": "\u041f\u043e\u0434\u0438\u045b\u0438 \u0415\u043a\u0446\u0435\u043f\u0442\u0438\u043e\u043d",
- "Reject HTML": "\u041e\u0434\u0431\u0438\u0442\u0438 \u0425\u0422\u041c\u041b",
- "Rule Definition": "\u041f\u0440\u0430\u0432\u0438\u043b\u043e \u0414\u0435\u0444\u0438\u043d\u0438\u0446\u0438\u0458\u0430",
- "Rule Name": "\u041f\u0440\u0430\u0432\u0438\u043b\u043e \u0418\u043c\u0435",
- "Rule Priority": "\u041f\u0440\u0430\u0432\u0438\u043b\u043e \u041f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442",
- "Rule Status": "\u041f\u0440\u0430\u0432\u0438\u043b\u043e \u0441\u0442\u0430\u0442\u0443\u0441",
- "Select Form": "\u0418\u0437\u0430\u0431\u0435\u0440\u0438\u0442\u0435 \u043e\u0431\u0440\u0430\u0437\u0430\u0446",
- "Setup": "\u041d\u0430\u043c\u0435\u0448\u0442\u0430\u0459\u043a\u0430",
- "Workflow Action Details": "\u0412\u043e\u0440\u043a\u0444\u043b\u043e\u0432 \u0410\u0446\u0442\u0438\u043e\u043d \u0414\u0435\u0442\u0430\u0438\u043b\u0441",
- "Workflow Rule": "\u0412\u043e\u0440\u043a\u0444\u043b\u043e\u0432 \u041f\u0440\u0430\u0432\u0438\u043b\u043e",
- "Workflow Rule Details": "\u0412\u043e\u0440\u043a\u0444\u043b\u043e\u0432 \u041f\u0440\u0430\u0432\u0438\u043b\u043e \u0414\u0435\u0442\u0430\u0459\u0438",
- "Yes": "\u0414\u0430"
-}
\ No newline at end of file
diff --git a/setup/doctype/workflow_rule/locale/ta-doc.json b/setup/doctype/workflow_rule/locale/ta-doc.json
deleted file mode 100644
index fbb4732..0000000
--- a/setup/doctype/workflow_rule/locale/ta-doc.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "Action Detail": "\u0b85\u0ba4\u0bbf\u0bb0\u0b9f\u0bbf \u0bb5\u0bbf\u0bb0\u0bbf\u0bb5\u0bbe\u0b95",
- "Action html": "\u0b85\u0ba4\u0bbf\u0bb0\u0b9f\u0bbf html",
- "Active": "\u0b9a\u0bc6\u0baf\u0bb2\u0bbf\u0bb2\u0bcd",
- "Define Rule": "\u0bb5\u0bbf\u0ba4\u0bbf \u0bb5\u0bb0\u0bc8\u0baf\u0bb1\u0bc1\u0b95\u0bcd\u0b95",
- "Enter message": "\u0ba4\u0b95\u0bb5\u0bb2\u0bcd",
- "Extra Condition": "\u0b95\u0bc2\u0b9f\u0bc1\u0ba4\u0bb2\u0bcd \u0b95\u0ba3\u0bcd\u0b9f\u0bbf\u0bb7\u0ba9\u0bcd",
- "Inactive": "\u0b9c\u0b9f\u0bae\u0bbe\u0ba9",
- "Intro HTML": "\u0b85\u0bb1\u0bbf\u0bae\u0bc1\u0b95\u0bae\u0bcd HTML",
- "No": "\u0b87\u0bb2\u0bcd\u0bb2\u0bc8",
- "Raise Exception": "\u0bb5\u0bbf\u0ba4\u0bbf\u0bb5\u0bbf\u0bb2\u0b95\u0bcd\u0b95\u0bc1 \u0b89\u0baf\u0bb0\u0bcd\u0ba4\u0bcd\u0ba4",
- "Reject HTML": "HTML \u0ba8\u0bbf\u0bb0\u0bbe\u0b95\u0bb0\u0bbf\u0b95\u0bcd\u0b95",
- "Rule Definition": "\u0b86\u0b9f\u0bcd\u0b9a\u0bbf \u0bb5\u0bb0\u0bc8\u0baf\u0bb1\u0bc8",
- "Rule Name": "\u0b86\u0b9f\u0bcd\u0b9a\u0bbf \u0baa\u0bc6\u0baf\u0bb0\u0bcd",
- "Rule Priority": "\u0b86\u0b9f\u0bcd\u0b9a\u0bbf \u0bae\u0bc1\u0ba9\u0bcd\u0ba9\u0bc1\u0bb0\u0bbf\u0bae\u0bc8",
- "Rule Status": "\u0b86\u0b9f\u0bcd\u0b9a\u0bbf \u0ba8\u0bbf\u0bb2\u0bc8\u0bae\u0bc8",
- "Select Form": "\u0baa\u0b9f\u0bbf\u0bb5\u0bae\u0bcd \u0ba4\u0bc7\u0bb0\u0bcd\u0bb5\u0bc1",
- "Setup": "\u0b85\u0bae\u0bc8\u0baa\u0bcd\u0baa\u0bc1 \u0bae\u0bc1\u0bb1\u0bc8",
- "Workflow Action Details": "\u0baa\u0ba3\u0bbf\u0baf\u0bc7\u0bbe\u0b9f\u0bcd\u0b9f\u0bae\u0bcd \u0b85\u0ba4\u0bbf\u0bb0\u0b9f\u0bbf \u0bb5\u0bbf\u0bb5\u0bb0\u0bae\u0bcd",
- "Workflow Rule": "\u0baa\u0ba3\u0bbf\u0baf\u0bc7\u0bbe\u0b9f\u0bcd\u0b9f\u0bae\u0bcd \u0bb5\u0bbf\u0ba4\u0bbf",
- "Workflow Rule Details": "\u0baa\u0ba3\u0bbf\u0baf\u0bc7\u0bbe\u0b9f\u0bcd\u0b9f\u0bae\u0bcd \u0bb5\u0bbf\u0ba4\u0bbf \u0bb5\u0bbf\u0bb5\u0bb0\u0bae\u0bcd",
- "Yes": "\u0b86\u0bae\u0bcd"
-}
\ No newline at end of file
diff --git a/setup/doctype/workflow_rule/locale/th-doc.json b/setup/doctype/workflow_rule/locale/th-doc.json
deleted file mode 100644
index 4b3a293..0000000
--- a/setup/doctype/workflow_rule/locale/th-doc.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "Action Detail": "\u0e23\u0e32\u0e22\u0e25\u0e30\u0e40\u0e2d\u0e35\u0e22\u0e14\u0e01\u0e32\u0e23\u0e14\u0e33\u0e40\u0e19\u0e34\u0e19\u0e01\u0e32\u0e23",
- "Action html": "html \u0e17\u0e35\u0e48\u0e01\u0e23\u0e30\u0e17\u0e33",
- "Active": "\u0e04\u0e25\u0e48\u0e2d\u0e07\u0e41\u0e04\u0e25\u0e48\u0e27",
- "Define Rule": "\u0e01\u0e33\u0e2b\u0e19\u0e14\u0e01\u0e0e",
- "Enter message": "\u0e1b\u0e49\u0e2d\u0e19\u0e02\u0e49\u0e2d\u0e04\u0e27\u0e32\u0e21",
- "Extra Condition": "\u0e40\u0e07\u0e37\u0e48\u0e2d\u0e19\u0e44\u0e02\u0e1e\u0e34\u0e40\u0e28\u0e29",
- "Inactive": "\u0e40\u0e09\u0e37\u0e48\u0e2d\u0e22\u0e0a\u0e32",
- "Intro HTML": "HTML \u0e41\u0e19\u0e30\u0e19\u0e33",
- "No": "\u0e44\u0e21\u0e48",
- "Raise Exception": "\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e01\u0e32\u0e23\u0e22\u0e01\u0e40\u0e27\u0e49\u0e19",
- "Reject HTML": "\u0e1b\u0e0f\u0e34\u0e40\u0e2a\u0e18 HTML",
- "Rule Definition": "\u0e01\u0e32\u0e23\u0e01\u0e33\u0e2b\u0e19\u0e14\u0e01\u0e0e",
- "Rule Name": "\u0e0a\u0e37\u0e48\u0e2d\u0e01\u0e0e",
- "Rule Priority": "\u0e25\u0e33\u0e14\u0e31\u0e1a\u0e04\u0e27\u0e32\u0e21\u0e2a\u0e33\u0e04\u0e31\u0e0d\u0e02\u0e2d\u0e07\u0e01\u0e0e",
- "Rule Status": "\u0e2a\u0e16\u0e32\u0e19\u0e30\u0e01\u0e0e",
- "Select Form": "\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e1f\u0e2d\u0e23\u0e4c\u0e21",
- "Setup": "\u0e01\u0e32\u0e23\u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07",
- "Workflow Action Details": "\u0e23\u0e32\u0e22\u0e25\u0e30\u0e40\u0e2d\u0e35\u0e22\u0e14\u0e01\u0e32\u0e23\u0e14\u0e33\u0e40\u0e19\u0e34\u0e19\u0e01\u0e32\u0e23\u0e02\u0e31\u0e49\u0e19\u0e15\u0e2d\u0e19\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19",
- "Workflow Rule": "\u0e01\u0e0e\u0e40\u0e27\u0e34\u0e23\u0e4c\u0e01\u0e42\u0e1f\u0e25\u0e27\u0e4c",
- "Workflow Rule Details": "\u0e23\u0e32\u0e22\u0e25\u0e30\u0e40\u0e2d\u0e35\u0e22\u0e14\u0e01\u0e0e\u0e40\u0e27\u0e34\u0e23\u0e4c\u0e01\u0e42\u0e1f\u0e25\u0e27\u0e4c",
- "Yes": "\u0e43\u0e0a\u0e48"
-}
\ No newline at end of file
diff --git a/setup/doctype/workflow_rule/workflow_rule.js b/setup/doctype/workflow_rule/workflow_rule.js
deleted file mode 100644
index a506101..0000000
--- a/setup/doctype/workflow_rule/workflow_rule.js
+++ /dev/null
@@ -1,60 +0,0 @@
-// ERPNext - web based ERP (http://erpnext.com)
-// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-
-
-//--------- ONLOAD -------------
-cur_frm.cscript.onload = function(doc, cdt, cdn) {
-
-}
-
-cur_frm.cscript.refresh = function(doc, cdt, cdn) {
-
-}
-
-// Show Label name of fields for selected Doctype
-// ---------------------------
-
-cur_frm.cscript.select_form = function(doc, cdt, cdn){
- var mydoc = doc
-
- var call_back_action = function(mydoc){
- $c('runserverobj', args={'method':'field_label_list', 'docs':wn.model.compress (make_doclist (mydoc.doctype,mydoc.name))},
- function(r, rt) {
- var doc = locals[mydoc.doctype][mydoc.name];
- cur_frm.fields_dict.workflow_action_details.grid.get_field("action_field").df.options = r.message;
- }
- );
- }
-
- var call_back_rule = function(mydoc){
- $c('runserverobj', args={'method':'compare_field', 'docs':wn.model.compress (make_doclist (mydoc.doctype,mydoc.name))},
- function(r, rt) {
- var doc = locals[mydoc.doctype][mydoc.name];
- cur_frm.fields_dict.workflow_rule_details.grid.get_field("comparing_field").df.options = r.message;
- call_back_action(mydoc)
- }
- );
- }
-
- $c('runserverobj', args={'method':'maindoc_field', 'docs':wn.model.compress (make_doclist (doc.doctype,doc.name))},
- function(r, rt) {
- var doc = locals[mydoc.doctype][mydoc.name];
- cur_frm.fields_dict.workflow_rule_details.grid.get_field("rule_field").df.options = r.message;
- call_back_rule(mydoc)
- }
- );
-}
diff --git a/setup/doctype/workflow_rule/workflow_rule.py b/setup/doctype/workflow_rule/workflow_rule.py
deleted file mode 100644
index 1c2514d..0000000
--- a/setup/doctype/workflow_rule/workflow_rule.py
+++ /dev/null
@@ -1,293 +0,0 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-from __future__ import unicode_literals
-import webnotes
-
-from webnotes.utils import cstr
-from webnotes.model import db_exists
-from webnotes.model.bean import getlist, copy_doclist
-from webnotes import form, msgprint
-
-sql = webnotes.conn.sql
-
-
-
-class DocType:
- def __init__(self, doc, doclist=[]):
- self.doc, self.doclist = doc, doclist
-
- self.field_list=[]
- field_info = sql("select label,fieldtype,options,fieldname from `tabDocField` where parent='%s' and fieldtype not in('Section Break','Column Break','Text','Small Text','Text Editor', 'Time', 'Check', 'Button','Code','HTML','Image','Blob','Password')"%self.doc.select_form)
- for f in field_info:
- sl=[]
- for x in f:
- sl.append(x)
- self.field_list.append(sl)
-
-#list of labels
- def field_label_list(self):
- label= ''
- for fi in self.field_list:
- if fi[1] !='Table':
- label += "\n" + fi[0]
-
- return label
-
-
- def compare_field(self):
- ret1=''
- for fi in self.field_list:
- if fi[1] =='Table':
- flist=sql("select label from tabDocField where parent='%s' and fieldtype in ('Data', 'Select', 'Int','Currency','Float','Link')"%fi[2])
- for x in flist:
- ret1 += "\n" + fi[2] + ':' + x[0]
- else:
- ret1 += "\n" + cstr(self.doc.select_form) + ':' + fi[0]
-
- return cstr(ret1)
-
-#list of all fields for which conditions can be set
- def maindoc_field(self):
- ret = ''
- for fi in self.field_list:
- if fi[1] !='Select' or fi[1] !='Link' or fi[1] !='Table':
- ret += "\n" + cstr(self.doc.select_form) + ':' + fi[0]
- elif fi[1] =='Select':
- op = fi[2].split(':')
- if op[0] != 'link':
- ret += "\n" + cstr(self.doc.select_form) + ':' +fi[0]
-
- #child table field list
- for fi in self.field_list:
- if fi[1] == 'Table':
- flist=sql("select label from tabDocField where parent='%s' and fieldtype in ('Data', 'Select', 'Int','Currency','Float','Link')"%fi[2])
- for x in flist:
- ret += "\n" + fi[2] + ':' + x[0]
-
- # linked doctype field list
- for fi in self.field_list:
- if fi[1] == 'Link':
- flist=sql("select label from tabDocField where parent='%s' and fieldtype in ('Data', 'Int', 'Select','Currency','Float','Link')"%fi[2])
- for f in flist:
- ret += "\n" + fi[0] + ':' +f[0]
- elif fi[1] == 'Select':
- op = fi[2].split(':')
- if op[0] == 'link':
- flist=sql("select label from tabDocField where parent='%s' and fieldtype in ('Data', 'Select', 'Int','Currency','Float','Link')"%op[1])
- for f in flist:
- ret += "\n" + fi[0] + ':' +f[0]
-
- return cstr(ret)
-
- #table name of the selected doctype
- def child_doc(self):
- lst=[]
- for fi in self.field_list:
- if fi[1] == 'Table':
- lst.append(fi[2])
-
- return lst
-
- # function for finding fieldname,datatype of mentioned label
- def field_info(self,label,parent):
- field_name=sql("select fieldname from tabDocField where parent='%s' and label='%s'" %(parent,label))[0][0]
- if field_name:
- datatype=sql("select fieldtype from `tabDocField` where fieldname='%s' and parent='%s'" %(field_name,parent))[0][0]
- ret={'fieldnm':field_name,'datatype':datatype}
-
- return ret
-
- def compare_string(self,first,second):
- if first.lower()==second.lower():
- return 'true'
- else:
- return 'false'
-
-#evalute operator
- def eval_operator(self,op):
- op_sign =''
- if op=='Equals':
- op_sign='=='
- elif op=='Not Equals':
- op_sign='!='
- elif op=='Greater than':
- op_sign='>'
- elif op=='Greater than or Equals':
- op_sign='>='
- elif op=='Less than':
- op_sign='<'
- elif op=='Less than or Equals':
- op_sign='<='
-
- return op_sign
-
-#evaluation condition
- def eval_condition(self,field_dict,form_val,value,operator):
-
- if field_dict['datatype']=='Data' or field_dict['datatype']=='Select' or field_dict['datatype'] =='Link':
- #msgprint("not eval")
- if self.compare_string(cstr(form_val),cstr(value))=='false':
- cond_hold='No'
- else:
- cond_hold='Yes'
- else:
- #msgprint("eval")
- op_sign = self.eval_operator(operator)
- chk_cond=str(form_val) + str(op_sign) + str(value)
- #msgprint(chk_cond)
- if eval(chk_cond):
- cond_hold='Yes'
- else:
- cond_hold='No'
- #msgprint(cond_hold)
- return cond_hold
-
-
-# fetching the value from the form
- def find_value(self,fld_nm,tab_nm,rec_nm,child=0):
- if child == 0:
- form_val=sql("select %s from `tab%s` where name='%s'"%(fld_nm,tab_nm,rec_nm))
-
- elif child == 1:
- form_val=sql("select %s from `tab%s` where parent='%s'"%(fld_nm,tab_nm,rec_nm))
-
- return form_val and form_val[0][0]
-
-# if the comparing value is not entered manually but fetching from some other field
- def compare_field_not_manual(self,comparing_field):
- chk_with_value =''
- temp_val = comparing_field.split(':')
- if temp_val[0] == self.doc.select_form:
- field_cf = self.field_info(temp_val[1],self.doc.select_form)
- val_cf=self.find_value(field_cf['fieldnm'],self.doc.select_form,form_obj.doc.name)
- chk_with_value = val_cf
- elif temp_val[0] in child_list:
- field_cf = self.field_info(second_label,first_label)
- val_cf=self.find_value(field_cf['fieldnm'],first_label,form_obj.doc.name,1)
- chk_with_value = val_cf
-
- return chk_with_value
-# checking with main doctype
- def chk_from_main_dt(self,label1,value,operator,form_obj):
- cond_hold = ''
- field_dict = self.field_info(label1,self.doc.select_form) #getting fieldname info
- form_val=self.find_value(field_dict['fieldnm'],self.doc.select_form,form_obj.doc.name) # find value
- #msgprint(cstr(form_val))
- if form_val :
- cond_hold = self.eval_condition(field_dict,form_val,value,operator)
- elif not form_val and field_dict['datatype'] =='Currency' or field_dict['datatype'] =='Float' or field_dict['datatype'] =='Int':
- #msgprint("1")
- form_val = 0.0
- cond_hold = self.eval_condition(field_dict,form_val,value,operator)
- return cond_hold
-
-#checking with child doctype
- def chk_from_child_dt(self,first_label,second_label,value,operator,form_obj):
- cond_hold = ''
- field_dict = self.field_info(second_label,first_label)
- form_val=self.find_value(field_dict['fieldnm'],first_label,form_obj.doc.name,1) #fetching the value in current form from a table
- if form_val or form_val==0:
- cond_hold = self.eval_condition(field_dict,form_val,value,operator)
-
- return cond_hold
-
-
-# if checking is with any linked doctype means first_label field from the doctype for which rule is given and second_label field from the doctype with which first_label is linked
- def chk_from_link_dt(self,first_label,second_label,form_obj,value,operator):
- cond_hold=''
- field_dict_first = self.field_info(first_label,self.doc.select_form)
- for x in self.field_list:
- if x[3] == field_dict_first['fieldnm']:
- linked_to = x[2]
-
- lt = linked_to.split(':')
- if lt[0] == 'link':
- field_dict_second = self.field_info(second_label,lt[1])
- link_val=sql("select %s from `tab%s` where name='%s'"%(field_dict_first['fieldnm'],self.doc.select_form,form_obj.doc.name))
- if link_val and link_val[0][0]:
- form_val = self.find_value(field_dict_second['fieldnm'],lt[1],link_val[0][0])
- if form_val :
- cond_hold = self.eval_condition(field_dict_second,form_val,value,operator)
-
- else:
- field_dict_second = self.field_info(second_label,lt[0])
- link_val=sql("select %s from `tab%s` where name='%s'"%(field_dict_first['fieldnm'],self.doc.select_form,form_obj.doc.name))
- if link_val and link_val[0][0]:
- form_val = self.find_value(field_dict_second['fieldnm'],lt[0],link_val[0][0])
- if form_val :
- cond_hold = self.eval_condition(field_dict_second,form_val,value,operator)
-
- return cond_hold
-
-
- def evalute_rule(self,form_obj):
- #msgprint(form_obj.doc.name)
- child_list = self.child_doc()
- all_cond_hold=''
- for d in getlist(self.doclist,'workflow_rule_details'):
- label = d.rule_field.split(':') #break up checking condition
-
- #findout the value with which condition will be checked
- if d.value:
- chk_with_value = d.value
- elif d.comparing_field:
- chk_with_value = self.compare_field_not_manual(d.comparing_field)
-
- #msgprint(label)
- # label[0] is doctype name for which rule is given, label[1] field name of that doctype
- if label[0] == self.doc.select_form:
- cond_hold = self.chk_from_main_dt(label[1],chk_with_value,d.operator,form_obj)
- if cond_hold =='No':
- if d.exception == 'Yes':
- msgprint(d.message)
- raise Exception
- elif d.exception=='No' or d.exception=='':
- msgprint(d.message)
- all_cond_hold = 'No'
- break
- elif cond_hold =='Yes':
- all_cond_hold ='Yes'
-
- #label[0] is child doctype name , label[1] is child doctype field name
- elif label[0] in child_list:
- cond_hold = self.chk_from_child_dt(label[0],label[1],chk_with_value,d.operator,form_obj)
- if cond_hold =='No':
- if d.exception == 'Yes':
- msgprint(d.message)
- raise Exception
- elif d.exception=='No' or d.exception=='':
- msgprint(d.message)
- all_cond_hold = 'No'
- break
- elif cond_hold =='Yes':
- all_cond_hold ='Yes'
-
- # if checking is with any linked doctype means label[0] field from the doctype for which rule is given and label[1] field from the doctype with which label[0] is linked
- else:
- cond_hold=self.chk_from_link_dt(label[0],label[1],form_obj,chk_with_value,d.operator)
- if cond_hold =='No':
- if d.exception == 'Yes':
- msgprint(d.message)
- raise Exception
- elif d.exception=='No' or d.exception=='':
- msgprint(d.message)
- all_cond_hold = 'No'
- break
- elif cond_hold =='Yes':
- all_cond_hold ='Yes'
-
- return all_cond_hold
diff --git a/setup/doctype/workflow_rule/workflow_rule.txt b/setup/doctype/workflow_rule/workflow_rule.txt
deleted file mode 100644
index 0c1257f..0000000
--- a/setup/doctype/workflow_rule/workflow_rule.txt
+++ /dev/null
@@ -1,195 +0,0 @@
-[
- {
- "creation": "2012-03-27 14:36:26",
- "docstatus": 0,
- "modified": "2012-03-27 14:36:26",
- "modified_by": "Administrator",
- "owner": "swarnalata@webnotestech.com"
- },
- {
- "autoname": "field:rule_name",
- "doctype": "DocType",
- "document_type": "Master",
- "module": "Setup",
- "name": "__common__",
- "search_fields": "select_form,rule_status",
- "section_style": "Tray",
- "show_in_menu": 0,
- "version": 31
- },
- {
- "doctype": "DocField",
- "name": "__common__",
- "parent": "Workflow Rule",
- "parentfield": "fields",
- "parenttype": "DocType",
- "permlevel": 0
- },
- {
- "create": 1,
- "doctype": "DocPerm",
- "name": "__common__",
- "parent": "Workflow Rule",
- "parentfield": "permissions",
- "parenttype": "DocType",
- "permlevel": 0,
- "read": 1,
- "report": 1,
- "role": "System Manager",
- "write": 1
- },
- {
- "doctype": "DocType",
- "name": "Workflow Rule"
- },
- {
- "doctype": "DocPerm"
- },
- {
- "doctype": "DocField",
- "fieldname": "rule_definition",
- "fieldtype": "Section Break",
- "label": "Rule Definition",
- "oldfieldtype": "Section Break"
- },
- {
- "doctype": "DocField",
- "fieldname": "intro_html",
- "fieldtype": "HTML",
- "label": "Intro HTML",
- "oldfieldtype": "HTML",
- "options": "<b>Select form for which you want to define rules,set priority & status.</b>"
- },
- {
- "doctype": "DocField",
- "fieldname": "rule_name",
- "fieldtype": "Data",
- "label": "Rule Name",
- "oldfieldname": "rule_name",
- "oldfieldtype": "Data",
- "reqd": 1
- },
- {
- "doctype": "DocField",
- "fieldname": "rule_status",
- "fieldtype": "Select",
- "in_filter": 1,
- "label": "Rule Status",
- "oldfieldname": "rule_status",
- "oldfieldtype": "Select",
- "options": "\nActive\nInactive",
- "reqd": 1,
- "search_index": 0
- },
- {
- "doctype": "DocField",
- "fieldname": "select_form",
- "fieldtype": "Link",
- "in_filter": 1,
- "label": "Select Form",
- "oldfieldname": "select_form",
- "oldfieldtype": "Link",
- "options": "DocType",
- "reqd": 1,
- "search_index": 1,
- "trigger": "Client"
- },
- {
- "doctype": "DocField",
- "fieldname": "rule_priority",
- "fieldtype": "Int",
- "label": "Rule Priority",
- "oldfieldname": "rule_priority",
- "oldfieldtype": "Int",
- "reqd": 0
- },
- {
- "doctype": "DocField",
- "fieldname": "define_rule",
- "fieldtype": "Section Break",
- "label": "Define Rule",
- "oldfieldtype": "Section Break",
- "options": "Simple"
- },
- {
- "doctype": "DocField",
- "fieldname": "workflow_rule_details",
- "fieldtype": "Table",
- "label": "Workflow Rule Details",
- "oldfieldname": "workflow_rule_details",
- "oldfieldtype": "Table",
- "options": "Workflow Rule Detail",
- "width": "100px"
- },
- {
- "doctype": "DocField",
- "fieldname": "extra_condition",
- "fieldtype": "Code",
- "hidden": 1,
- "label": "Extra Condition",
- "oldfieldname": "extra_condition",
- "oldfieldtype": "Code",
- "print_hide": 1
- },
- {
- "doctype": "DocField",
- "fieldname": "action_detail",
- "fieldtype": "Section Break",
- "label": "Action Detail",
- "oldfieldtype": "Section Break"
- },
- {
- "doctype": "DocField",
- "fieldname": "action_html",
- "fieldtype": "HTML",
- "label": "Action html",
- "oldfieldtype": "HTML",
- "options": "<b>Specify actions to be taken when conditions hold satisfied</b>"
- },
- {
- "doctype": "DocField",
- "fieldname": "workflow_action_details",
- "fieldtype": "Table",
- "label": "Workflow Action Details",
- "oldfieldname": "workflow_action_details",
- "oldfieldtype": "Table",
- "options": "Workflow Action Detail"
- },
- {
- "doctype": "DocField",
- "fieldname": "reject_html",
- "fieldtype": "HTML",
- "hidden": 1,
- "label": "Reject HTML",
- "no_copy": 1,
- "oldfieldtype": "HTML",
- "options": "<b>If any condition holds false the following message will be displayed . If you wish to stop rule engine when condition holds false then set 'Raise Exception' as 'Yes' otherwise keep this field blank or 'No'.</b>",
- "print_hide": 1,
- "report_hide": 1
- },
- {
- "doctype": "DocField",
- "fieldname": "message",
- "fieldtype": "Text",
- "hidden": 1,
- "label": "Enter message",
- "no_copy": 1,
- "oldfieldname": "message",
- "oldfieldtype": "Text",
- "print_hide": 1,
- "report_hide": 1
- },
- {
- "doctype": "DocField",
- "fieldname": "raise_exception",
- "fieldtype": "Select",
- "hidden": 1,
- "label": "Raise Exception",
- "no_copy": 1,
- "oldfieldname": "raise_exception",
- "oldfieldtype": "Select",
- "options": "\nYes\nNo",
- "print_hide": 1,
- "report_hide": 1
- }
-]
\ No newline at end of file
diff --git a/setup/doctype/workflow_rule_detail/__init__.py b/setup/doctype/workflow_rule_detail/__init__.py
deleted file mode 100644
index baffc48..0000000
--- a/setup/doctype/workflow_rule_detail/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-from __future__ import unicode_literals
diff --git a/setup/doctype/workflow_rule_detail/locale/_messages_doc.json b/setup/doctype/workflow_rule_detail/locale/_messages_doc.json
deleted file mode 100644
index befc8b7..0000000
--- a/setup/doctype/workflow_rule_detail/locale/_messages_doc.json
+++ /dev/null
@@ -1,18 +0,0 @@
-[
- "not equal",
- "Field from other forms",
- "Operator",
- "Setup",
- "No",
- "equal",
- "greater than",
- "Field",
- "Value",
- "greater than equal",
- "Raise Exception",
- "Yes",
- "less than equal",
- "Message when Cond. False",
- "Workflow Rule Detail",
- "less than"
-]
\ No newline at end of file
diff --git a/setup/doctype/workflow_rule_detail/locale/ar-doc.json b/setup/doctype/workflow_rule_detail/locale/ar-doc.json
deleted file mode 100644
index 02ec639..0000000
--- a/setup/doctype/workflow_rule_detail/locale/ar-doc.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "Field": "\u062d\u0642\u0644",
- "Field from other forms": "\u062d\u0642\u0644 \u0645\u0646 \u0627\u0644\u0623\u0634\u0643\u0627\u0644 \u0627\u0644\u0623\u062e\u0631\u0649",
- "Message when Cond. False": "\u0627\u0644\u0631\u0633\u0627\u0644\u0629 \u0639\u0646\u062f\u0645\u0627 \u0643\u0648\u0646\u062f. \u0643\u0627\u0630\u0628",
- "No": "\u0644\u0627",
- "Operator": "\u0639\u0627\u0645\u0644",
- "Raise Exception": "\u0631\u0641\u0639 \u0627\u0633\u062a\u062b\u0646\u0627\u0621",
- "Setup": "\u0627\u0644\u0625\u0639\u062f\u0627\u062f",
- "Value": "\u0642\u064a\u0645\u0629",
- "Workflow Rule Detail": "\u062a\u0641\u0627\u0635\u064a\u0644 \u0633\u064a\u0631 \u0627\u0644\u0639\u0645\u0644 \u0627\u0644\u0642\u0627\u0639\u062f\u0629",
- "Yes": "\u0646\u0639\u0645",
- "[]": "[]",
- "equal": "\u0645\u062a\u0633\u0627\u0648",
- "greater than": "\u0623\u0643\u0628\u0631 \u0645\u0646",
- "greater than equal": "\u0623\u0643\u0628\u0631 \u0645\u0646 \u0627\u0644\u0645\u0633\u0627\u0648\u0627\u0629",
- "less than": "\u0623\u0642\u0644 \u0645\u0646",
- "less than equal": "\u0623\u0642\u0644 \u0645\u0646 \u0627\u0644\u0645\u0633\u0627\u0648\u0627\u0629",
- "not equal": "\u0644\u0627 \u062a\u0633\u0627\u0648\u064a"
-}
\ No newline at end of file
diff --git a/setup/doctype/workflow_rule_detail/locale/de-doc.json b/setup/doctype/workflow_rule_detail/locale/de-doc.json
deleted file mode 100644
index a95a89e..0000000
--- a/setup/doctype/workflow_rule_detail/locale/de-doc.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "Field": "Feld",
- "Field from other forms": "Feld von anderen Formen",
- "Message when Cond. False": "Nachricht Wenn Cond. Falsch",
- "No": "Auf",
- "Operator": "Operator",
- "Raise Exception": "Raise Exception",
- "Setup": "Setup",
- "Value": "Wert",
- "Workflow Rule Detail": "Workflow Rule Details",
- "Yes": "Ja",
- "equal": "gleich",
- "greater than": "gr\u00f6\u00dfer als",
- "greater than equal": "gr\u00f6\u00dfer gleich",
- "less than": "weniger als",
- "less than equal": "weniger als gleich",
- "not equal": "ungleich"
-}
\ No newline at end of file
diff --git a/setup/doctype/workflow_rule_detail/locale/es-doc.json b/setup/doctype/workflow_rule_detail/locale/es-doc.json
deleted file mode 100644
index 54a1ed1..0000000
--- a/setup/doctype/workflow_rule_detail/locale/es-doc.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "Field": "Campo",
- "Field from other forms": "Campo de otras formas",
- "Message when Cond. False": "Mensaje cuando Cond. Falso",
- "No": "No",
- "Operator": "Operador",
- "Raise Exception": "Levante Excepci\u00f3n",
- "Setup": "Disposici\u00f3n",
- "Value": "Valor",
- "Workflow Rule Detail": "Detalle de la regla de flujo de trabajo",
- "Yes": "S\u00ed",
- "[]": "[]",
- "equal": "igual",
- "greater than": "m\u00e1s que",
- "greater than equal": "mayor o igual",
- "less than": "menos que",
- "less than equal": "menos de igual",
- "not equal": "no igual"
-}
\ No newline at end of file
diff --git a/setup/doctype/workflow_rule_detail/locale/fr-doc.json b/setup/doctype/workflow_rule_detail/locale/fr-doc.json
deleted file mode 100644
index ab42671..0000000
--- a/setup/doctype/workflow_rule_detail/locale/fr-doc.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "Field": "Champ",
- "Field from other forms": "Champ d'autres formes",
- "Message when Cond. False": "Message lorsque Cond. Faux",
- "No": "Aucun",
- "Operator": "Op\u00e9rateur",
- "Raise Exception": "Soulever Exception",
- "Setup": "Installation",
- "Value": "Valeur",
- "Workflow Rule Detail": "D\u00e9tail r\u00e8gle de workflow",
- "Yes": "Oui",
- "[]": "[]",
- "equal": "\u00e9gal",
- "greater than": "sup\u00e9rieure \u00e0",
- "greater than equal": "sup\u00e9rieur ou \u00e9gal",
- "less than": "moins que",
- "less than equal": "moins \u00e9gal",
- "not equal": "pas \u00e9gal"
-}
\ No newline at end of file
diff --git a/setup/doctype/workflow_rule_detail/locale/hi-doc.json b/setup/doctype/workflow_rule_detail/locale/hi-doc.json
deleted file mode 100644
index 109dc7f..0000000
--- a/setup/doctype/workflow_rule_detail/locale/hi-doc.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "Field": "\u0915\u094d\u0937\u0947\u0924\u094d\u0930",
- "Field from other forms": "\u0905\u0928\u094d\u092f \u0930\u0942\u092a\u094b\u0902 \u0938\u0947 \u092b\u0940\u0932\u094d\u0921",
- "Message when Cond. False": "\u091c\u092c Cond \u0938\u0902\u0926\u0947\u0936. \u091d\u0942\u0920\u093e",
- "No": "\u0928\u0939\u0940\u0902",
- "Operator": "\u0911\u092a\u0930\u0947\u091f\u0930",
- "Raise Exception": "\u0905\u092a\u0935\u093e\u0926 \u0909\u0920\u093e\u090f\u0901",
- "Setup": "\u0935\u094d\u092f\u0935\u0938\u094d\u0925\u093e",
- "Value": "\u092e\u0942\u0932\u094d\u092f",
- "Workflow Rule Detail": "\u0935\u0930\u094d\u0915\u092b\u093c\u094d\u0932\u094b \u0928\u093f\u092f\u092e \u0935\u093f\u0938\u094d\u0924\u093e\u0930",
- "Yes": "\u0939\u093e\u0902",
- "[]": "[]",
- "equal": "\u092c\u0930\u093e\u092c\u0930",
- "greater than": "\u0938\u0947 \u0905\u0927\u093f\u0915 \u0938\u0947 \u0905\u0927\u093f\u0915",
- "greater than equal": "\u092c\u0930\u093e\u092c\u0930 \u092f\u093e \u0905\u0927\u093f\u0915",
- "less than": "\u0915\u0940 \u0924\u0941\u0932\u0928\u093e \u092e\u0947\u0902 \u0915\u092e",
- "less than equal": "\u092c\u0930\u093e\u092c\u0930 \u092f\u093e \u0915\u092e",
- "not equal": "\u092c\u0930\u093e\u092c\u0930 \u0928\u0939\u0940\u0902"
-}
\ No newline at end of file
diff --git a/setup/doctype/workflow_rule_detail/locale/hr-doc.json b/setup/doctype/workflow_rule_detail/locale/hr-doc.json
deleted file mode 100644
index a523b06..0000000
--- a/setup/doctype/workflow_rule_detail/locale/hr-doc.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "Field": "Polje",
- "Field from other forms": "Podru\u010dje od drugih oblika",
- "Message when Cond. False": "Poruka kad Uslov. La\u017ean",
- "No": "Ne",
- "Operator": "Operator",
- "Raise Exception": "Podignite Iznimka",
- "Setup": "Postavljanje",
- "Value": "Vrijednost",
- "Workflow Rule Detail": "Workflow Pravilo Detalj",
- "Yes": "Da",
- "[]": "[]",
- "equal": "jednak",
- "greater than": "ve\u0107i od",
- "greater than equal": "ve\u0107e od jednako",
- "less than": "manje od",
- "less than equal": "manje od jednako",
- "not equal": "nije jednako"
-}
\ No newline at end of file
diff --git a/setup/doctype/workflow_rule_detail/locale/nl-doc.json b/setup/doctype/workflow_rule_detail/locale/nl-doc.json
deleted file mode 100644
index 800b634..0000000
--- a/setup/doctype/workflow_rule_detail/locale/nl-doc.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "Field": "Veld",
- "Field from other forms": "Veld van andere vormen",
- "Message when Cond. False": "Bericht wanneer Cond. Vals",
- "No": "Geen",
- "Operator": "Operator",
- "Raise Exception": "Raise Uitzondering",
- "Setup": "Setup",
- "Value": "Waarde",
- "Workflow Rule Detail": "Workflow Regel Detail",
- "Yes": "Ja",
- "[]": "[]",
- "equal": "gelijk",
- "greater than": "groter dan",
- "greater than equal": "groter dan of gelijk",
- "less than": "minder dan",
- "less than equal": "minder dan gelijk",
- "not equal": "ongelijk"
-}
\ No newline at end of file
diff --git a/setup/doctype/workflow_rule_detail/locale/pt-BR-doc.json b/setup/doctype/workflow_rule_detail/locale/pt-BR-doc.json
deleted file mode 100644
index ee1a847..0000000
--- a/setup/doctype/workflow_rule_detail/locale/pt-BR-doc.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "Field": "Campo",
- "Field from other forms": "Campo de outros formul\u00e1rios",
- "Message when Cond. False": "Mensagem quando Condi\u00e7\u00e3o for Falsa",
- "No": "N\u00e3o",
- "Operator": "Operador",
- "Raise Exception": "Levantar Exce\u00e7\u00e3o",
- "Setup": "Configura\u00e7\u00e3o",
- "Value": "Valor",
- "Workflow Rule Detail": "Detalhe da Regra do Fluxo de Trabalho",
- "Yes": "Sim",
- "equal": "igual",
- "greater than": "maior que",
- "greater than equal": "maior ou igual",
- "less than": "menor que",
- "less than equal": "menor ou igual",
- "not equal": "n\u00e3o igual"
-}
\ No newline at end of file
diff --git a/setup/doctype/workflow_rule_detail/locale/pt-doc.json b/setup/doctype/workflow_rule_detail/locale/pt-doc.json
deleted file mode 100644
index ec96ab4..0000000
--- a/setup/doctype/workflow_rule_detail/locale/pt-doc.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "Field": "Campo",
- "Field from other forms": "Campo de outras formas",
- "Message when Cond. False": "Mensagem quando Cond. Falso",
- "No": "N\u00e3o",
- "Operator": "Operador",
- "Raise Exception": "Levante Exce\u00e7\u00e3o",
- "Setup": "Instala\u00e7\u00e3o",
- "Value": "Valor",
- "Workflow Rule Detail": "Detalhe regra de fluxo de trabalho",
- "Yes": "Sim",
- "[]": "[]",
- "equal": "igual",
- "greater than": "maior do que",
- "greater than equal": "maior ou igual",
- "less than": "menor que",
- "less than equal": "menor ou igual",
- "not equal": "n\u00e3o igual"
-}
\ No newline at end of file
diff --git a/setup/doctype/workflow_rule_detail/locale/sr-doc.json b/setup/doctype/workflow_rule_detail/locale/sr-doc.json
deleted file mode 100644
index 3e41e1f..0000000
--- a/setup/doctype/workflow_rule_detail/locale/sr-doc.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "Field": "\u041f\u043e\u0459\u0435",
- "Field from other forms": "\u041e\u0431\u043b\u0430\u0441\u0442 \u043e\u0434 \u0434\u0440\u0443\u0433\u0438\u0445 \u043e\u0431\u043b\u0438\u043a\u0430",
- "Message when Cond. False": "\u041f\u043e\u0440\u0443\u043a\u0430 \u043a\u0430\u0434 \u0423\u0441\u043b\u043e\u0432. \u041b\u0430\u0436\u0430\u043d",
- "No": "\u041d\u0435",
- "Operator": "\u041e\u043f\u0435\u0440\u0430\u0442\u043e\u0440",
- "Raise Exception": "\u041f\u043e\u0434\u0438\u045b\u0438 \u0415\u043a\u0446\u0435\u043f\u0442\u0438\u043e\u043d",
- "Setup": "\u041d\u0430\u043c\u0435\u0448\u0442\u0430\u0459\u043a\u0430",
- "Value": "\u0412\u0440\u0435\u0434\u043d\u043e\u0441\u0442",
- "Workflow Rule Detail": "\u0412\u043e\u0440\u043a\u0444\u043b\u043e\u0432 \u041f\u0440\u0430\u0432\u0438\u043b\u043e \u0414\u0435\u0442\u0430\u0459",
- "Yes": "\u0414\u0430",
- "[]": "[]",
- "equal": "\u0458\u0435\u0434\u043d\u0430\u043a",
- "greater than": "\u0432\u0435\u045b\u0438 \u043e\u0434",
- "greater than equal": "\u0432\u0435\u045b\u0438 \u043e\u0434 \u0458\u0435\u0434\u043d\u0430\u043a\u043e\u0433",
- "less than": "\u043c\u0430\u045a\u0435 \u043e\u0434",
- "less than equal": "\u043c\u0430\u045a\u0435 \u043e\u0434 \u0458\u0435\u0434\u043d\u0430\u043a\u043e\u0433",
- "not equal": "\u043d\u0438\u0441\u0443 \u0458\u0435\u0434\u043d\u0430\u043a\u0438"
-}
\ No newline at end of file
diff --git a/setup/doctype/workflow_rule_detail/locale/ta-doc.json b/setup/doctype/workflow_rule_detail/locale/ta-doc.json
deleted file mode 100644
index d85d159..0000000
--- a/setup/doctype/workflow_rule_detail/locale/ta-doc.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "Field": "\u0baa\u0bc1\u0bb2\u0bae\u0bcd",
- "Field from other forms": "\u0baa\u0bbf\u0bb1 \u0b87\u0bb0\u0bc1\u0ba8\u0bcd\u0ba4\u0bc1 \u0baa\u0bc1\u0bb2\u0bae\u0bcd",
- "Message when Cond. False": "\u0b9a\u0bc6\u0baf\u0bcd\u0ba4\u0bbf \u0baa\u0bc7\u0bbe\u0ba4\u0bc1 \u0ba8\u0bbf\u0bb2\u0bc8. \u0ba4\u0bb5\u0bb1\u0bbe\u0ba9",
- "No": "\u0b87\u0bb2\u0bcd\u0bb2\u0bc8",
- "Operator": "\u0b86\u0baa\u0bb0\u0bc7\u0b9f\u0bcd\u0b9f\u0bb0\u0bcd",
- "Raise Exception": "\u0bb5\u0bbf\u0ba4\u0bbf\u0bb5\u0bbf\u0bb2\u0b95\u0bcd\u0b95\u0bc1 \u0b89\u0baf\u0bb0\u0bcd\u0ba4\u0bcd\u0ba4",
- "Setup": "\u0b85\u0bae\u0bc8\u0baa\u0bcd\u0baa\u0bc1 \u0bae\u0bc1\u0bb1\u0bc8",
- "Value": "\u0bae\u0ba4\u0bbf\u0baa\u0bcd\u0baa\u0bc1",
- "Workflow Rule Detail": "\u0baa\u0ba3\u0bbf\u0baf\u0bc7\u0bbe\u0b9f\u0bcd\u0b9f\u0bae\u0bcd \u0bb5\u0bbf\u0ba4\u0bbf \u0bb5\u0bbf\u0bb0\u0bbf\u0bb5\u0bbe\u0b95",
- "Yes": "\u0b86\u0bae\u0bcd",
- "[]": "[]",
- "equal": "\u0b87\u0ba3\u0bc8\u0baf\u0bbe\u0ba9",
- "greater than": "\u0bb5\u0bbf\u0b9f\u0baa\u0bcd\u0baa\u0bc6\u0bb0\u0bbf\u0ba4\u0bc1",
- "greater than equal": "\u0b9a\u0bae \u0b85\u0ba4\u0bbf\u0b95\u0bae\u0bbe\u0b95",
- "less than": "\u0b95\u0bc1\u0bb1\u0bc8\u0bb5\u0bbe\u0ba9",
- "less than equal": "\u0b9a\u0bae \u0b95\u0bc1\u0bb1\u0bc8\u0bb5\u0bbe\u0ba9",
- "not equal": "\u0b9a\u0bae \u0b87\u0bb2\u0bcd\u0bb2\u0bc8"
-}
\ No newline at end of file
diff --git a/setup/doctype/workflow_rule_detail/locale/th-doc.json b/setup/doctype/workflow_rule_detail/locale/th-doc.json
deleted file mode 100644
index 1ff91f7..0000000
--- a/setup/doctype/workflow_rule_detail/locale/th-doc.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "Field": "\u0e2a\u0e19\u0e32\u0e21",
- "Field from other forms": "\u0e40\u0e02\u0e15\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e08\u0e32\u0e01\u0e23\u0e39\u0e1b\u0e41\u0e1a\u0e1a\u0e2d\u0e37\u0e48\u0e19 \u0e46",
- "Message when Cond. False": "\u0e02\u0e49\u0e2d\u0e04\u0e27\u0e32\u0e21\u0e40\u0e21\u0e37\u0e48\u0e2d Cond \u0e40\u0e17\u0e47\u0e08",
- "No": "\u0e44\u0e21\u0e48",
- "Operator": "\u0e1c\u0e39\u0e49\u0e1b\u0e23\u0e30\u0e01\u0e2d\u0e1a\u0e01\u0e32\u0e23",
- "Raise Exception": "\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e01\u0e32\u0e23\u0e22\u0e01\u0e40\u0e27\u0e49\u0e19",
- "Setup": "\u0e01\u0e32\u0e23\u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07",
- "Value": "\u0e21\u0e39\u0e25\u0e04\u0e48\u0e32",
- "Workflow Rule Detail": "\u0e23\u0e32\u0e22\u0e25\u0e30\u0e40\u0e2d\u0e35\u0e22\u0e14\u0e01\u0e0e\u0e40\u0e27\u0e34\u0e23\u0e4c\u0e01\u0e42\u0e1f\u0e25\u0e27\u0e4c",
- "Yes": "\u0e43\u0e0a\u0e48",
- "[]": "[]",
- "equal": "\u0e40\u0e17\u0e48\u0e32\u0e01\u0e31\u0e19",
- "greater than": "\u0e21\u0e32\u0e01\u0e01\u0e27\u0e48\u0e32",
- "greater than equal": "\u0e21\u0e32\u0e01\u0e01\u0e27\u0e48\u0e32\u0e2b\u0e23\u0e37\u0e2d\u0e40\u0e17\u0e48\u0e32\u0e01\u0e31\u0e1a",
- "less than": "\u0e19\u0e49\u0e2d\u0e22\u0e01\u0e27\u0e48\u0e32",
- "less than equal": "\u0e19\u0e49\u0e2d\u0e22\u0e01\u0e27\u0e48\u0e32\u0e2b\u0e23\u0e37\u0e2d\u0e40\u0e17\u0e48\u0e32\u0e01\u0e31\u0e1a",
- "not equal": "\u0e44\u0e21\u0e48\u0e40\u0e17\u0e48\u0e32\u0e01\u0e31\u0e1a"
-}
\ No newline at end of file
diff --git a/setup/doctype/workflow_rule_detail/workflow_rule_detail.py b/setup/doctype/workflow_rule_detail/workflow_rule_detail.py
deleted file mode 100644
index 7f48feb..0000000
--- a/setup/doctype/workflow_rule_detail/workflow_rule_detail.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-from __future__ import unicode_literals
-import webnotes
-
-class DocType:
- def __init__(self, d, dl):
- self.doc, self.doclist = d, dl
\ No newline at end of file
diff --git a/setup/doctype/workflow_rule_detail/workflow_rule_detail.txt b/setup/doctype/workflow_rule_detail/workflow_rule_detail.txt
deleted file mode 100644
index 1aee3fe..0000000
--- a/setup/doctype/workflow_rule_detail/workflow_rule_detail.txt
+++ /dev/null
@@ -1,84 +0,0 @@
-[
- {
- "creation": "2013-02-22 01:27:59",
- "docstatus": 0,
- "modified": "2013-03-07 07:03:34",
- "modified_by": "Administrator",
- "owner": "swarnalata@webnotestech.com"
- },
- {
- "doctype": "DocType",
- "istable": 1,
- "module": "Setup",
- "name": "__common__"
- },
- {
- "doctype": "DocField",
- "name": "__common__",
- "parent": "Workflow Rule Detail",
- "parentfield": "fields",
- "parenttype": "DocType",
- "permlevel": 0
- },
- {
- "doctype": "DocType",
- "name": "Workflow Rule Detail"
- },
- {
- "doctype": "DocField",
- "fieldname": "rule_field",
- "fieldtype": "Select",
- "label": "Field",
- "oldfieldname": "rule_field",
- "oldfieldtype": "Select",
- "options": "[]",
- "print_width": "200px",
- "width": "200px"
- },
- {
- "doctype": "DocField",
- "fieldname": "operator",
- "fieldtype": "Select",
- "label": "Operator",
- "oldfieldname": "operator",
- "oldfieldtype": "Select",
- "options": "\nequal\nnot equal\ngreater than\ngreater than equal\nless than\nless than equal"
- },
- {
- "doctype": "DocField",
- "fieldname": "value",
- "fieldtype": "Data",
- "label": "Value",
- "oldfieldname": "value",
- "oldfieldtype": "Data",
- "print_width": "100px",
- "width": "100px"
- },
- {
- "doctype": "DocField",
- "fieldname": "comparing_field",
- "fieldtype": "Select",
- "label": "Field from other forms",
- "oldfieldname": "comparing_field",
- "oldfieldtype": "Select"
- },
- {
- "doctype": "DocField",
- "fieldname": "message",
- "fieldtype": "Data",
- "label": "Message when Cond. False",
- "oldfieldname": "message",
- "oldfieldtype": "Data",
- "print_width": "200px",
- "width": "200px"
- },
- {
- "doctype": "DocField",
- "fieldname": "exception",
- "fieldtype": "Select",
- "label": "Raise Exception",
- "oldfieldname": "exception",
- "oldfieldtype": "Select",
- "options": "\nYes\nNo"
- }
-]
\ No newline at end of file
diff --git a/startup/website.py b/startup/website.py
index 5e6c311..dfaba02 100644
--- a/startup/website.py
+++ b/startup/website.py
@@ -34,18 +34,7 @@
t['child_items'] = []
t['child_items'].append(d)
break
-
- if top_items and ("products" in [d.url.split(".")[0] for d in top_items if d.url]):
- # product categories
- products = webnotes.conn.sql("""select t1.item_group as label,
- t2.page_name as url,
- ifnull(t1.indent,0) as indent
- from `tabWebsite Product Category` t1, `tabItem Group` t2
- where t1.item_group = t2.name
- and ifnull(t2.show_in_website,0)=1 order by t1.idx""", as_dict=1)
- products_item = filter(lambda d: d.url and d.url.split(".")[0]=="products", top_items)[0]
- products_item.child_items = products
-
+
ret = webnotes._dict({
'top_bar_items': top_items,
'footer_items': webnotes.conn.sql("""\
diff --git a/stock/README.md b/stock/README.md
new file mode 100644
index 0000000..14cabc6
--- /dev/null
+++ b/stock/README.md
@@ -0,0 +1 @@
+Inventory management module.
\ No newline at end of file
diff --git a/stock/doctype/batch/README.md b/stock/doctype/batch/README.md
new file mode 100644
index 0000000..3377343
--- /dev/null
+++ b/stock/doctype/batch/README.md
@@ -0,0 +1 @@
+Batch of Items Units. If Item has batched inventory, then adding tagging each inventory transaction to a Batch becomes important.
\ No newline at end of file
diff --git a/stock/doctype/bin/README.md b/stock/doctype/bin/README.md
new file mode 100644
index 0000000..4218fdc
--- /dev/null
+++ b/stock/doctype/bin/README.md
@@ -0,0 +1 @@
+Bin represents a unique Item-Warehouse combination. Sum of all transactions, planned, ordered, reserved quantities for that Item Warehouse is maintained in Bin.
\ No newline at end of file
diff --git a/stock/doctype/delivery_note/README.md b/stock/doctype/delivery_note/README.md
new file mode 100644
index 0000000..86d2fd7
--- /dev/null
+++ b/stock/doctype/delivery_note/README.md
@@ -0,0 +1 @@
+Record of shipment made to Customer, optionally against a Sales Order.
\ No newline at end of file
diff --git a/stock/doctype/delivery_note_item/README.md b/stock/doctype/delivery_note_item/README.md
new file mode 100644
index 0000000..b3ca17e
--- /dev/null
+++ b/stock/doctype/delivery_note_item/README.md
@@ -0,0 +1 @@
+Item shipped in parent Delivery Note.
\ No newline at end of file
diff --git a/stock/doctype/delivery_note_packing_item/README.md b/stock/doctype/delivery_note_packing_item/README.md
new file mode 100644
index 0000000..20c343a
--- /dev/null
+++ b/stock/doctype/delivery_note_packing_item/README.md
@@ -0,0 +1 @@
+Item packed in parent Delivery Note. If shipped Items are of type Sales BOM, then this table contains the exploded list of Items shipped.
\ No newline at end of file
diff --git a/stock/doctype/featured_item/__init__.py b/stock/doctype/featured_item/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/stock/doctype/featured_item/__init__.py
+++ /dev/null
diff --git a/stock/doctype/featured_item/featured_item.py b/stock/doctype/featured_item/featured_item.py
deleted file mode 100644
index 7f48feb..0000000
--- a/stock/doctype/featured_item/featured_item.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-from __future__ import unicode_literals
-import webnotes
-
-class DocType:
- def __init__(self, d, dl):
- self.doc, self.doclist = d, dl
\ No newline at end of file
diff --git a/stock/doctype/featured_item/featured_item.txt b/stock/doctype/featured_item/featured_item.txt
deleted file mode 100644
index 5c91e87..0000000
--- a/stock/doctype/featured_item/featured_item.txt
+++ /dev/null
@@ -1,35 +0,0 @@
-[
- {
- "creation": "2013-02-22 01:28:00",
- "docstatus": 0,
- "modified": "2013-03-07 07:03:21",
- "modified_by": "Administrator",
- "owner": "Administrator"
- },
- {
- "description": "Featured Item in Item Group",
- "doctype": "DocType",
- "istable": 1,
- "module": "Stock",
- "name": "__common__"
- },
- {
- "doctype": "DocField",
- "fieldname": "item",
- "fieldtype": "Link",
- "label": "Item",
- "name": "__common__",
- "options": "Item",
- "parent": "Featured Item",
- "parentfield": "fields",
- "parenttype": "DocType",
- "permlevel": 0
- },
- {
- "doctype": "DocType",
- "name": "Featured Item"
- },
- {
- "doctype": "DocField"
- }
-]
\ No newline at end of file
diff --git a/stock/doctype/featured_item/locale/_messages_doc.json b/stock/doctype/featured_item/locale/_messages_doc.json
deleted file mode 100644
index 37968bd..0000000
--- a/stock/doctype/featured_item/locale/_messages_doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-[
- "Item",
- "Featured Item in Item Group",
- "Featured Item",
- "Stock"
-]
\ No newline at end of file
diff --git a/stock/doctype/featured_item/locale/ar-doc.json b/stock/doctype/featured_item/locale/ar-doc.json
deleted file mode 100644
index 2576bae..0000000
--- a/stock/doctype/featured_item/locale/ar-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Featured Item": "\u0645\u0645\u064a\u0632\u0629",
- "Featured Item in Item Group": "\u0645\u0645\u064a\u0632\u0629 \u0641\u064a \u0627\u0644\u0645\u062c\u0645\u0648\u0639\u0629 \u0627\u0644\u0633\u0644\u0639\u0629",
- "Item": "\u0628\u0646\u062f",
- "Stock": "\u0627\u0644\u0623\u0648\u0631\u0627\u0642 \u0627\u0644\u0645\u0627\u0644\u064a\u0629"
-}
\ No newline at end of file
diff --git a/stock/doctype/featured_item/locale/de-doc.json b/stock/doctype/featured_item/locale/de-doc.json
deleted file mode 100644
index 0ab4a0e..0000000
--- a/stock/doctype/featured_item/locale/de-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Featured Item": "Feature-Produkt",
- "Featured Item in Item Group": "Feature-Produkt bei Posten Gruppe",
- "Item": "Artikel",
- "Stock": "Lager"
-}
\ No newline at end of file
diff --git a/stock/doctype/featured_item/locale/es-doc.json b/stock/doctype/featured_item/locale/es-doc.json
deleted file mode 100644
index b0e3074..0000000
--- a/stock/doctype/featured_item/locale/es-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Featured Item": "Producto destacado",
- "Featured Item in Item Group": "Producto destacado en el Grupo del art\u00edculo",
- "Item": "Art\u00edculo",
- "Stock": "Valores"
-}
\ No newline at end of file
diff --git a/stock/doctype/featured_item/locale/fr-doc.json b/stock/doctype/featured_item/locale/fr-doc.json
deleted file mode 100644
index b47f8f3..0000000
--- a/stock/doctype/featured_item/locale/fr-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Featured Item": "Produit vedette",
- "Featured Item in Item Group": "Produit vedette dans le groupe d'article",
- "Item": "Article",
- "Stock": "Stock"
-}
\ No newline at end of file
diff --git a/stock/doctype/featured_item/locale/hi-doc.json b/stock/doctype/featured_item/locale/hi-doc.json
deleted file mode 100644
index 2577c42..0000000
--- a/stock/doctype/featured_item/locale/hi-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Featured Item": "\u0935\u093f\u0936\u0947\u0937 \u0930\u0941\u092a \u0938\u0947 \u092a\u094d\u0930\u0926\u0930\u094d\u0936\u093f\u0924 \u0906\u0907\u091f\u092e",
- "Featured Item in Item Group": "\u0906\u0907\u091f\u092e \u0938\u092e\u0942\u0939 \u092e\u0947\u0902 \u091a\u093f\u0924\u094d\u0930\u093f\u0924 \u0906\u0907\u091f\u092e",
- "Item": "\u092e\u0926",
- "Stock": "\u0938\u094d\u091f\u0949\u0915"
-}
\ No newline at end of file
diff --git a/stock/doctype/featured_item/locale/hr-doc.json b/stock/doctype/featured_item/locale/hr-doc.json
deleted file mode 100644
index d4e50ea..0000000
--- a/stock/doctype/featured_item/locale/hr-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Featured Item": "Prikazan artikla",
- "Featured Item in Item Group": "Prikazan artikla u to\u010dki Grupe",
- "Item": "Stavka",
- "Stock": "Zaliha"
-}
\ No newline at end of file
diff --git a/stock/doctype/featured_item/locale/nl-doc.json b/stock/doctype/featured_item/locale/nl-doc.json
deleted file mode 100644
index c3a5b4d..0000000
--- a/stock/doctype/featured_item/locale/nl-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Featured Item": "Featured Product",
- "Featured Item in Item Group": "Featured Product in punt Group",
- "Item": "Item",
- "Stock": "Voorraad"
-}
\ No newline at end of file
diff --git a/stock/doctype/featured_item/locale/pt-BR-doc.json b/stock/doctype/featured_item/locale/pt-BR-doc.json
deleted file mode 100644
index f4f543a..0000000
--- a/stock/doctype/featured_item/locale/pt-BR-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Featured Item": "Item Destacado",
- "Featured Item in Item Group": "Item destacado no Grupo de Itens",
- "Item": "Item",
- "Stock": "Estoque"
-}
\ No newline at end of file
diff --git a/stock/doctype/featured_item/locale/pt-doc.json b/stock/doctype/featured_item/locale/pt-doc.json
deleted file mode 100644
index 20fcc31..0000000
--- a/stock/doctype/featured_item/locale/pt-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Featured Item": "Item Destacado",
- "Featured Item in Item Group": "Item destacado no Grupo item",
- "Item": "Item",
- "Stock": "Estoque"
-}
\ No newline at end of file
diff --git a/stock/doctype/featured_item/locale/sr-doc.json b/stock/doctype/featured_item/locale/sr-doc.json
deleted file mode 100644
index 7f455c0..0000000
--- a/stock/doctype/featured_item/locale/sr-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Featured Item": "\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0459\u0430\u043c\u043e",
- "Featured Item in Item Group": "\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0459\u0430\u043c\u043e \u0442\u0430\u0447\u043a\u0430 \u0443 \u0433\u0440\u0443\u043f\u0438 \u0430\u0440\u0442\u0438\u043a\u043b\u0430",
- "Item": "\u0421\u0442\u0430\u0432\u043a\u0430",
- "Stock": "\u0417\u0430\u043b\u0438\u0445\u0430"
-}
\ No newline at end of file
diff --git a/stock/doctype/featured_item/locale/ta-doc.json b/stock/doctype/featured_item/locale/ta-doc.json
deleted file mode 100644
index bb9be70..0000000
--- a/stock/doctype/featured_item/locale/ta-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Featured Item": "\u0b87\u0b9f\u0bae\u0bcd\u0baa\u0bc6\u0bb1\u0bcd\u0bb1\u0bbf\u0bb0\u0bc1\u0ba8\u0bcd\u0ba4\u0ba4\u0bc1 \u0baa\u0bc6\u0bbe\u0bb0\u0bc1\u0bb3\u0bcd",
- "Featured Item in Item Group": "\u0baa\u0bc6\u0bbe\u0bb0\u0bc1\u0bb3\u0bcd \u0baa\u0bbf\u0bb0\u0bbf\u0bb5\u0bc1 \u0b87\u0b9f\u0bae\u0bcd\u0baa\u0bc6\u0bb1\u0bcd\u0bb1\u0ba4\u0bc1 \u0baa\u0bc6\u0bbe\u0bb0\u0bc1\u0bb3\u0bcd",
- "Item": "\u0b89\u0bb0\u0bc1\u0baa\u0bcd\u0baa\u0b9f\u0bbf",
- "Stock": "\u0baa\u0b99\u0bcd\u0b95\u0bc1"
-}
\ No newline at end of file
diff --git a/stock/doctype/featured_item/locale/th-doc.json b/stock/doctype/featured_item/locale/th-doc.json
deleted file mode 100644
index a79d3d0..0000000
--- a/stock/doctype/featured_item/locale/th-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Featured Item": "\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23\u0e40\u0e14\u0e48\u0e19",
- "Featured Item in Item Group": "\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23\u0e17\u0e35\u0e48\u0e42\u0e14\u0e14\u0e40\u0e14\u0e48\u0e19\u0e43\u0e19\u0e01\u0e25\u0e38\u0e48\u0e21\u0e2a\u0e34\u0e19\u0e04\u0e49\u0e32",
- "Item": "\u0e0a\u0e34\u0e49\u0e19",
- "Stock": "\u0e04\u0e25\u0e31\u0e07\u0e2a\u0e34\u0e19\u0e04\u0e49\u0e32"
-}
\ No newline at end of file
diff --git a/stock/doctype/item/README.md b/stock/doctype/item/README.md
new file mode 100644
index 0000000..a68ee64
--- /dev/null
+++ b/stock/doctype/item/README.md
@@ -0,0 +1 @@
+Item master. Also called SKU (stock keeping unit).
\ No newline at end of file
diff --git a/stock/doctype/item_customer_detail/README.md b/stock/doctype/item_customer_detail/README.md
new file mode 100644
index 0000000..a12ff62
--- /dev/null
+++ b/stock/doctype/item_customer_detail/README.md
@@ -0,0 +1 @@
+Item-codes used by Customers for the parent Item.
\ No newline at end of file
diff --git a/stock/doctype/item_price/README.md b/stock/doctype/item_price/README.md
new file mode 100644
index 0000000..4c4fc00
--- /dev/null
+++ b/stock/doctype/item_price/README.md
@@ -0,0 +1 @@
+Price of the Item in a particular Price List.
\ No newline at end of file
diff --git a/stock/doctype/item_quality_inspection_parameter/README.md b/stock/doctype/item_quality_inspection_parameter/README.md
new file mode 100644
index 0000000..38682e1
--- /dev/null
+++ b/stock/doctype/item_quality_inspection_parameter/README.md
@@ -0,0 +1 @@
+Quality inspection parameter for parent Item.
\ No newline at end of file
diff --git a/stock/doctype/item_reorder/README.md b/stock/doctype/item_reorder/README.md
new file mode 100644
index 0000000..cc153f6
--- /dev/null
+++ b/stock/doctype/item_reorder/README.md
@@ -0,0 +1 @@
+Warehouse-wise reorder level for the parent Item.
\ No newline at end of file
diff --git a/stock/doctype/item_supplier/README.md b/stock/doctype/item_supplier/README.md
new file mode 100644
index 0000000..a2a1808
--- /dev/null
+++ b/stock/doctype/item_supplier/README.md
@@ -0,0 +1 @@
+Supplier and supplier code for the parent Item.
\ No newline at end of file
diff --git a/stock/doctype/item_tax/README.md b/stock/doctype/item_tax/README.md
new file mode 100644
index 0000000..fb09b62
--- /dev/null
+++ b/stock/doctype/item_tax/README.md
@@ -0,0 +1 @@
+Tax rate for this Item against the specified Account.
\ No newline at end of file
diff --git a/stock/doctype/item_website_specification/README.md b/stock/doctype/item_website_specification/README.md
new file mode 100644
index 0000000..658358c
--- /dev/null
+++ b/stock/doctype/item_website_specification/README.md
@@ -0,0 +1 @@
+Specification detail / parameter for website listing.
\ No newline at end of file
diff --git a/stock/doctype/landed_cost_item/README.md b/stock/doctype/landed_cost_item/README.md
new file mode 100644
index 0000000..b8759d9
--- /dev/null
+++ b/stock/doctype/landed_cost_item/README.md
@@ -0,0 +1 @@
+Item to whose value the selected expense is to be added.
\ No newline at end of file
diff --git a/stock/doctype/landed_cost_purchase_receipt/README.md b/stock/doctype/landed_cost_purchase_receipt/README.md
new file mode 100644
index 0000000..b67dc6a
--- /dev/null
+++ b/stock/doctype/landed_cost_purchase_receipt/README.md
@@ -0,0 +1 @@
+Purchase Receipt where the expense is to be added.
\ No newline at end of file
diff --git a/stock/doctype/landed_cost_wizard/README.md b/stock/doctype/landed_cost_wizard/README.md
new file mode 100644
index 0000000..0d2c20d
--- /dev/null
+++ b/stock/doctype/landed_cost_wizard/README.md
@@ -0,0 +1 @@
+Tool to distribute costs as part of Item value after the Item has been received. This is typically in case where bills related to Items are received much later and for multiple Item. (specially Custom Duty)
\ No newline at end of file
diff --git a/stock/doctype/material_request/README.md b/stock/doctype/material_request/README.md
new file mode 100644
index 0000000..cb535d4
--- /dev/null
+++ b/stock/doctype/material_request/README.md
@@ -0,0 +1 @@
+Request for material (Items) from internal warehouse or by purchase.
\ No newline at end of file
diff --git a/stock/doctype/material_request_item/README.md b/stock/doctype/material_request_item/README.md
new file mode 100644
index 0000000..d048c09
--- /dev/null
+++ b/stock/doctype/material_request_item/README.md
@@ -0,0 +1 @@
+Items requested in parent Material Receipt.
\ No newline at end of file
diff --git a/stock/doctype/packing_slip/README.md b/stock/doctype/packing_slip/README.md
new file mode 100644
index 0000000..63eea20
--- /dev/null
+++ b/stock/doctype/packing_slip/README.md
@@ -0,0 +1 @@
+Items contained in a package / container against Delivery Note.
\ No newline at end of file
diff --git a/stock/doctype/packing_slip_item/README.md b/stock/doctype/packing_slip_item/README.md
new file mode 100644
index 0000000..75c4541
--- /dev/null
+++ b/stock/doctype/packing_slip_item/README.md
@@ -0,0 +1 @@
+Item detail of parent Packing Slip.
\ No newline at end of file
diff --git a/stock/doctype/purchase_receipt/README.md b/stock/doctype/purchase_receipt/README.md
new file mode 100644
index 0000000..41f6887
--- /dev/null
+++ b/stock/doctype/purchase_receipt/README.md
@@ -0,0 +1 @@
+Shipment received from Supplier against Purchase Order.
\ No newline at end of file
diff --git a/stock/doctype/purchase_receipt_item/README.md b/stock/doctype/purchase_receipt_item/README.md
new file mode 100644
index 0000000..042bb6d
--- /dev/null
+++ b/stock/doctype/purchase_receipt_item/README.md
@@ -0,0 +1 @@
+Detail of Items received in parent Purchase Receipt.
\ No newline at end of file
diff --git a/stock/doctype/sales_bom/README.md b/stock/doctype/sales_bom/README.md
new file mode 100644
index 0000000..e4d67e9
--- /dev/null
+++ b/stock/doctype/sales_bom/README.md
@@ -0,0 +1 @@
+Grouping of Items for sale. This is use where inventory is not maintained for the main Item but only the child Items.
\ No newline at end of file
diff --git a/stock/doctype/sales_bom_item/README.md b/stock/doctype/sales_bom_item/README.md
new file mode 100644
index 0000000..1e5c8a2
--- /dev/null
+++ b/stock/doctype/sales_bom_item/README.md
@@ -0,0 +1 @@
+Child Item grouped in parent Sales BOM.
\ No newline at end of file
diff --git a/stock/doctype/serial_no/README.md b/stock/doctype/serial_no/README.md
new file mode 100644
index 0000000..8c14764
--- /dev/null
+++ b/stock/doctype/serial_no/README.md
@@ -0,0 +1 @@
+Unique serial number assigned to an instance (unit) of an Item. This is used incase each unit of the Item needs to be tracked separately for warranty or recall purposes.
\ No newline at end of file
diff --git a/stock/doctype/stock_entry/README.md b/stock/doctype/stock_entry/README.md
new file mode 100644
index 0000000..7722ba3
--- /dev/null
+++ b/stock/doctype/stock_entry/README.md
@@ -0,0 +1 @@
+Stock movement from one warehouse to another (or from, or to a warehouse).
\ No newline at end of file
diff --git a/stock/doctype/stock_entry_detail/README.md b/stock/doctype/stock_entry_detail/README.md
new file mode 100644
index 0000000..c6ff7f3
--- /dev/null
+++ b/stock/doctype/stock_entry_detail/README.md
@@ -0,0 +1 @@
+Item moved as a part of the Stock Entry.
\ No newline at end of file
diff --git a/stock/doctype/stock_ledger/README.md b/stock/doctype/stock_ledger/README.md
new file mode 100644
index 0000000..8ccaf59
--- /dev/null
+++ b/stock/doctype/stock_ledger/README.md
@@ -0,0 +1 @@
+Control (to be deprecated) for updating stock entries.
\ No newline at end of file
diff --git a/stock/doctype/stock_ledger_entry/README.md b/stock/doctype/stock_ledger_entry/README.md
new file mode 100644
index 0000000..5eb0317
--- /dev/null
+++ b/stock/doctype/stock_ledger_entry/README.md
@@ -0,0 +1 @@
+Internal / consolidated record of stock movement. All types of stock movements are recorded on this table and is the key table for inventory reports.
\ No newline at end of file
diff --git a/stock/doctype/stock_reconciliation/README.md b/stock/doctype/stock_reconciliation/README.md
new file mode 100644
index 0000000..bb974c8
--- /dev/null
+++ b/stock/doctype/stock_reconciliation/README.md
@@ -0,0 +1 @@
+Tool to update stock level, value on a particular date by uploading a csv file.
\ No newline at end of file
diff --git a/stock/doctype/stock_uom_replace_utility/README.md b/stock/doctype/stock_uom_replace_utility/README.md
new file mode 100644
index 0000000..6db95a6
--- /dev/null
+++ b/stock/doctype/stock_uom_replace_utility/README.md
@@ -0,0 +1 @@
+Tool to replace unit of measure (UoM) of an Item.
\ No newline at end of file
diff --git a/stock/doctype/uom_conversion_detail/README.md b/stock/doctype/uom_conversion_detail/README.md
new file mode 100644
index 0000000..39bbcb0
--- /dev/null
+++ b/stock/doctype/uom_conversion_detail/README.md
@@ -0,0 +1 @@
+Conversion factor to convert non-standard Unit of Measure (UoM) to standard UoM.
\ No newline at end of file
diff --git a/stock/doctype/valuation_control/locale/_messages_doc.json b/stock/doctype/valuation_control/locale/_messages_doc.json
deleted file mode 100644
index 21b3d8e..0000000
--- a/stock/doctype/valuation_control/locale/_messages_doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-[
- "Valuation Control",
- "Stock"
-]
\ No newline at end of file
diff --git a/stock/doctype/valuation_control/locale/ar-doc.json b/stock/doctype/valuation_control/locale/ar-doc.json
deleted file mode 100644
index d1f4fea..0000000
--- a/stock/doctype/valuation_control/locale/ar-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Stock": "\u0627\u0644\u0623\u0648\u0631\u0627\u0642 \u0627\u0644\u0645\u0627\u0644\u064a\u0629",
- "Valuation Control": "\u062a\u0642\u064a\u064a\u0645 \u0645\u0631\u0627\u0642\u0628\u0629"
-}
\ No newline at end of file
diff --git a/stock/doctype/valuation_control/locale/de-doc.json b/stock/doctype/valuation_control/locale/de-doc.json
deleted file mode 100644
index 7a2c605..0000000
--- a/stock/doctype/valuation_control/locale/de-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Stock": "Lager",
- "Valuation Control": "Valuation Control-"
-}
\ No newline at end of file
diff --git a/stock/doctype/valuation_control/locale/es-doc.json b/stock/doctype/valuation_control/locale/es-doc.json
deleted file mode 100644
index 147f120..0000000
--- a/stock/doctype/valuation_control/locale/es-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Stock": "Valores",
- "Valuation Control": "Evaluaci\u00f3n de Control"
-}
\ No newline at end of file
diff --git a/stock/doctype/valuation_control/locale/fr-doc.json b/stock/doctype/valuation_control/locale/fr-doc.json
deleted file mode 100644
index b230df6..0000000
--- a/stock/doctype/valuation_control/locale/fr-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Stock": "Stock",
- "Valuation Control": "Contr\u00f4le \u00e9valuation"
-}
\ No newline at end of file
diff --git a/stock/doctype/valuation_control/locale/hi-doc.json b/stock/doctype/valuation_control/locale/hi-doc.json
deleted file mode 100644
index 7b547f6..0000000
--- a/stock/doctype/valuation_control/locale/hi-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Stock": "\u0938\u094d\u091f\u0949\u0915",
- "Valuation Control": "\u092e\u0942\u0932\u094d\u092f\u093e\u0902\u0915\u0928 \u0928\u093f\u092f\u0902\u0924\u094d\u0930\u0923"
-}
\ No newline at end of file
diff --git a/stock/doctype/valuation_control/locale/hr-doc.json b/stock/doctype/valuation_control/locale/hr-doc.json
deleted file mode 100644
index 40e4b21..0000000
--- a/stock/doctype/valuation_control/locale/hr-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Stock": "Zaliha",
- "Valuation Control": "Vrednovanje kontrola"
-}
\ No newline at end of file
diff --git a/stock/doctype/valuation_control/locale/nl-doc.json b/stock/doctype/valuation_control/locale/nl-doc.json
deleted file mode 100644
index c2dcdff..0000000
--- a/stock/doctype/valuation_control/locale/nl-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Stock": "Voorraad",
- "Valuation Control": "Waardering Controle"
-}
\ No newline at end of file
diff --git a/stock/doctype/valuation_control/locale/pt-BR-doc.json b/stock/doctype/valuation_control/locale/pt-BR-doc.json
deleted file mode 100644
index 34180c0..0000000
--- a/stock/doctype/valuation_control/locale/pt-BR-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Stock": "Estoque",
- "Valuation Control": "Controle de Avalia\u00e7\u00e3o"
-}
\ No newline at end of file
diff --git a/stock/doctype/valuation_control/locale/pt-doc.json b/stock/doctype/valuation_control/locale/pt-doc.json
deleted file mode 100644
index b92f523..0000000
--- a/stock/doctype/valuation_control/locale/pt-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Stock": "Estoque",
- "Valuation Control": "Controle de valoriza\u00e7\u00e3o"
-}
\ No newline at end of file
diff --git a/stock/doctype/valuation_control/locale/sr-doc.json b/stock/doctype/valuation_control/locale/sr-doc.json
deleted file mode 100644
index b0c2fbf..0000000
--- a/stock/doctype/valuation_control/locale/sr-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Stock": "\u0417\u0430\u043b\u0438\u0445\u0430",
- "Valuation Control": "\u041f\u0440\u043e\u0446\u0435\u043d\u0430 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0430"
-}
\ No newline at end of file
diff --git a/stock/doctype/valuation_control/locale/ta-doc.json b/stock/doctype/valuation_control/locale/ta-doc.json
deleted file mode 100644
index 7326553..0000000
--- a/stock/doctype/valuation_control/locale/ta-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Stock": "\u0baa\u0b99\u0bcd\u0b95\u0bc1",
- "Valuation Control": "\u0bae\u0ba4\u0bbf\u0baa\u0bcd\u0baa\u0bc0\u0b9f\u0bcd\u0b9f\u0bc1 \u0b95\u0b9f\u0bcd\u0b9f\u0bc1\u0baa\u0bcd\u0baa\u0bbe\u0b9f\u0bc1"
-}
\ No newline at end of file
diff --git a/stock/doctype/valuation_control/locale/th-doc.json b/stock/doctype/valuation_control/locale/th-doc.json
deleted file mode 100644
index ecd479c..0000000
--- a/stock/doctype/valuation_control/locale/th-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Stock": "\u0e04\u0e25\u0e31\u0e07\u0e2a\u0e34\u0e19\u0e04\u0e49\u0e32",
- "Valuation Control": "\u0e04\u0e27\u0e1a\u0e04\u0e38\u0e21\u0e01\u0e32\u0e23\u0e1b\u0e23\u0e30\u0e40\u0e21\u0e34\u0e19"
-}
\ No newline at end of file
diff --git a/stock/doctype/warehouse/README.md b/stock/doctype/warehouse/README.md
new file mode 100644
index 0000000..3ff879e
--- /dev/null
+++ b/stock/doctype/warehouse/README.md
@@ -0,0 +1 @@
+Location (physical or virtual) where Items can be stored.
\ No newline at end of file
diff --git a/stock/doctype/warehouse/warehouse.py b/stock/doctype/warehouse/warehouse.py
index dc8bfea..264e459 100644
--- a/stock/doctype/warehouse/warehouse.py
+++ b/stock/doctype/warehouse/warehouse.py
@@ -65,10 +65,6 @@
msgprint("[Stock Update] Ignored %s since it is not a stock item"
% args.get("item_code"))
- def check_state(self):
- return "\n" + "\n".join([i[0] for i in sql("""
- select state_name from `tabState` where country=%s""", self.doc.country)])
-
def validate(self):
if self.doc.email_id and not validate_email_add(self.doc.email_id):
msgprint("Please enter valid Email Id", raise_exception=1)
diff --git a/stock/doctype/warehouse_user/README.md b/stock/doctype/warehouse_user/README.md
new file mode 100644
index 0000000..f4ed2b0
--- /dev/null
+++ b/stock/doctype/warehouse_user/README.md
@@ -0,0 +1 @@
+If specified, only user defined in this table are allowed to transact on the parent Warehouse.
\ No newline at end of file
diff --git a/stock/page/stock_ageing/README.md b/stock/page/stock_ageing/README.md
new file mode 100644
index 0000000..e8597b2
--- /dev/null
+++ b/stock/page/stock_ageing/README.md
@@ -0,0 +1 @@
+Average "age" of an Item in a particular Warehouse based on First-in-first-out (FIFO).
\ No newline at end of file
diff --git a/stock/page/stock_analytics/README.md b/stock/page/stock_analytics/README.md
new file mode 100644
index 0000000..86c3644
--- /dev/null
+++ b/stock/page/stock_analytics/README.md
@@ -0,0 +1 @@
+Trends of Items quantities and values.
\ No newline at end of file
diff --git a/stock/page/stock_balance/README.md b/stock/page/stock_balance/README.md
new file mode 100644
index 0000000..6522aeb
--- /dev/null
+++ b/stock/page/stock_balance/README.md
@@ -0,0 +1 @@
+Stock balances on a particular day, per warehouse.
\ No newline at end of file
diff --git a/stock/page/stock_ledger/README.md b/stock/page/stock_ledger/README.md
new file mode 100644
index 0000000..774498b
--- /dev/null
+++ b/stock/page/stock_ledger/README.md
@@ -0,0 +1 @@
+Stock movement report based on Stock Ledger Entry.
\ No newline at end of file
diff --git a/stock/page/stock_level/README.md b/stock/page/stock_level/README.md
new file mode 100644
index 0000000..43b2b0f
--- /dev/null
+++ b/stock/page/stock_level/README.md
@@ -0,0 +1 @@
+Stock levels (actual, planned, reserved, ordered) for Items on a particular date.
\ No newline at end of file
diff --git a/support/README.md b/support/README.md
new file mode 100644
index 0000000..0df93bb
--- /dev/null
+++ b/support/README.md
@@ -0,0 +1 @@
+Customer Support / After sales service / Maintenance Module.
\ No newline at end of file
diff --git a/support/doctype/customer_issue/README.md b/support/doctype/customer_issue/README.md
new file mode 100644
index 0000000..0560abe
--- /dev/null
+++ b/support/doctype/customer_issue/README.md
@@ -0,0 +1 @@
+Issue raised by Customer, can be tagged against Invoice, Serial Number to verify warranty, service contract.
\ No newline at end of file
diff --git a/support/doctype/maintenance_schedule/README.md b/support/doctype/maintenance_schedule/README.md
new file mode 100644
index 0000000..8371085
--- /dev/null
+++ b/support/doctype/maintenance_schedule/README.md
@@ -0,0 +1 @@
+Schedule generator for planned maintenance for service contract or internal maintenance.
\ No newline at end of file
diff --git a/support/doctype/maintenance_schedule_detail/README.md b/support/doctype/maintenance_schedule_detail/README.md
new file mode 100644
index 0000000..b9ade09
--- /dev/null
+++ b/support/doctype/maintenance_schedule_detail/README.md
@@ -0,0 +1 @@
+Scheduled event generated by Maintenance Schedule.
\ No newline at end of file
diff --git a/support/doctype/maintenance_schedule_item/README.md b/support/doctype/maintenance_schedule_item/README.md
new file mode 100644
index 0000000..c809dd5
--- /dev/null
+++ b/support/doctype/maintenance_schedule_item/README.md
@@ -0,0 +1 @@
+Details of Item to be maintained.
\ No newline at end of file
diff --git a/support/doctype/maintenance_visit/README.md b/support/doctype/maintenance_visit/README.md
new file mode 100644
index 0000000..123c9c8
--- /dev/null
+++ b/support/doctype/maintenance_visit/README.md
@@ -0,0 +1 @@
+Log of visit for maintenance.
\ No newline at end of file
diff --git a/support/doctype/maintenance_visit_purpose/README.md b/support/doctype/maintenance_visit_purpose/README.md
new file mode 100644
index 0000000..b693fcb
--- /dev/null
+++ b/support/doctype/maintenance_visit_purpose/README.md
@@ -0,0 +1 @@
+Table containing details of Items checked during Maintenance Visit.
\ No newline at end of file
diff --git a/support/doctype/newsletter/README.md b/support/doctype/newsletter/README.md
new file mode 100644
index 0000000..a1a0cf4
--- /dev/null
+++ b/support/doctype/newsletter/README.md
@@ -0,0 +1 @@
+Newsletter to be sent to Leads / Contacts.
\ No newline at end of file
diff --git a/support/doctype/support_ticket/README.md b/support/doctype/support_ticket/README.md
new file mode 100644
index 0000000..53e2fd7
--- /dev/null
+++ b/support/doctype/support_ticket/README.md
@@ -0,0 +1 @@
+Support Ticket (query) raised by customer via website or email (if configured).
\ No newline at end of file
diff --git a/support/page/support_analytics/README.md b/support/page/support_analytics/README.md
new file mode 100644
index 0000000..bc7654c
--- /dev/null
+++ b/support/page/support_analytics/README.md
@@ -0,0 +1 @@
+Support Ticket volume, performance over time.
\ No newline at end of file
diff --git a/tests/data/item/android_jack_d.txt b/tests/data/item/android_jack_d.txt
deleted file mode 100644
index cfc27e0..0000000
--- a/tests/data/item/android_jack_d.txt
+++ /dev/null
@@ -1,33 +0,0 @@
-[
- {
- "owner": "Administrator",
- "docstatus": 0,
- "creation": "2012-08-26 11:30:44",
- "modified_by": "Administrator",
- "modified": "2012-08-26 11:30:44"
- },
- {
- "is_service_item": "No",
- "is_manufactured_item": "Yes",
- "description": "Android Jack D",
- "item_code": "Android Jack D",
- "is_stock_item": "Yes",
- "inspection_required": "No",
- "is_purchase_item": "Yes",
- "is_pro_applicable": "Yes",
- "name": "__common__",
- "item_name": "Android Jack D",
- "item_group": "Android",
- "doctype": "Item",
- "is_sales_item": "Yes",
- "is_sub_contracted_item": "Yes",
- "stock_uom": "Nos",
- "has_batch_no": "No",
- "has_serial_no": "No",
- "default_warehouse": "Default Warehouse"
- },
- {
- "name": "Android Jack D",
- "doctype": "Item"
- }
-]
\ No newline at end of file
diff --git a/tests/data/item/android_jack_s.txt b/tests/data/item/android_jack_s.txt
deleted file mode 100644
index c9d0ff6..0000000
--- a/tests/data/item/android_jack_s.txt
+++ /dev/null
@@ -1,33 +0,0 @@
-[
- {
- "owner": "Administrator",
- "docstatus": 0,
- "creation": "2012-08-26 11:29:22",
- "modified_by": "Administrator",
- "modified": "2012-08-26 11:29:22"
- },
- {
- "is_service_item": "No",
- "is_manufactured_item": "Yes",
- "description": "Android Jack S",
- "item_code": "Android Jack S",
- "is_stock_item": "Yes",
- "inspection_required": "No",
- "is_purchase_item": "Yes",
- "is_pro_applicable": "Yes",
- "name": "__common__",
- "item_name": "Android Jack S",
- "item_group": "Android",
- "doctype": "Item",
- "is_sales_item": "Yes",
- "is_sub_contracted_item": "Yes",
- "stock_uom": "Nos",
- "has_batch_no": "No",
- "has_serial_no": "No",
- "default_warehouse": "Default Warehouse"
- },
- {
- "name": "Android Jack S",
- "doctype": "Item"
- }
-]
\ No newline at end of file
diff --git a/tests/data/item/home_desktop_100.txt b/tests/data/item/home_desktop_100.txt
deleted file mode 100644
index bee1c96..0000000
--- a/tests/data/item/home_desktop_100.txt
+++ /dev/null
@@ -1,31 +0,0 @@
-[
- {
- "owner": "Administrator",
- "docstatus": 0,
- "creation": "2012-08-26 11:25:28",
- "modified_by": "Administrator",
- "modified": "2012-08-26 11:25:28"
- },
- {
- "is_service_item": "No",
- "is_manufactured_item": "No",
- "description": "Home Desktop 100",
- "item_code": "Home Desktop 100",
- "is_stock_item": "Yes",
- "is_purchase_item": "Yes",
- "name": "__common__",
- "default_warehouse": "Default Warehouse",
- "item_name": "Home Desktop 100",
- "item_group": "Home Series",
- "doctype": "Item",
- "is_sales_item": "Yes",
- "stock_uom": "Nos",
- "has_batch_no": "No",
- "has_serial_no": "No",
- "inspection_required": "No"
- },
- {
- "name": "Home Desktop 100",
- "doctype": "Item"
- }
-]
\ No newline at end of file
diff --git a/tests/data/item/home_desktop_200.txt b/tests/data/item/home_desktop_200.txt
deleted file mode 100644
index 0fb439e..0000000
--- a/tests/data/item/home_desktop_200.txt
+++ /dev/null
@@ -1,30 +0,0 @@
-[
- {
- "owner": "Administrator",
- "docstatus": 0,
- "creation": "2012-08-26 11:25:54",
- "modified_by": "Administrator",
- "modified": "2012-08-26 11:25:54"
- },
- {
- "is_service_item": "No",
- "description": "Home Desktop 200",
- "item_code": "Home Desktop 200",
- "is_stock_item": "Yes",
- "is_purchase_item": "Yes",
- "name": "__common__",
- "default_warehouse": "Default Warehouse",
- "item_name": "Home Desktop 200",
- "item_group": "Home Series",
- "doctype": "Item",
- "is_sales_item": "Yes",
- "stock_uom": "Nos",
- "inspection_required": "No",
- "has_serial_no": "No",
- "has_batch_no": "No"
- },
- {
- "name": "Home Desktop 200",
- "doctype": "Item"
- }
-]
\ No newline at end of file
diff --git a/tests/data/item/home_desktop_300.txt b/tests/data/item/home_desktop_300.txt
deleted file mode 100644
index c7934d9..0000000
--- a/tests/data/item/home_desktop_300.txt
+++ /dev/null
@@ -1,30 +0,0 @@
-[
- {
- "owner": "Administrator",
- "docstatus": 0,
- "creation": "2012-08-26 11:26:37",
- "modified_by": "Administrator",
- "modified": "2012-08-26 11:26:37"
- },
- {
- "is_service_item": "No",
- "description": "Home Desktop 300",
- "item_code": "Home Desktop 300",
- "is_stock_item": "Yes",
- "is_purchase_item": "Yes",
- "name": "__common__",
- "default_warehouse": "Default Warehouse",
- "item_name": "Home Desktop 300",
- "item_group": "Home Series",
- "doctype": "Item",
- "is_sales_item": "Yes",
- "stock_uom": "Nos",
- "inspection_required": "No",
- "has_serial_no": "No",
- "has_batch_no": "No"
- },
- {
- "name": "Home Desktop 300",
- "doctype": "Item"
- }
-]
\ No newline at end of file
diff --git a/tests/data/item/nebula_7.txt b/tests/data/item/nebula_7.txt
deleted file mode 100644
index d92850f..0000000
--- a/tests/data/item/nebula_7.txt
+++ /dev/null
@@ -1,31 +0,0 @@
-[
- {
- "owner": "Administrator",
- "docstatus": 0,
- "creation": "2012-08-26 11:32:02",
- "modified_by": "Administrator",
- "modified": "2012-08-26 11:32:02"
- },
- {
- "is_service_item": "No",
- "description": "Nebula 7",
- "item_code": "Nebula 7",
- "is_stock_item": "Yes",
- "inspection_required": "No",
- "is_purchase_item": "No",
- "name": "__common__",
- "item_name": "Nebula 7",
- "item_group": "Small Tablets",
- "doctype": "Item",
- "is_sales_item": "Yes",
- "is_sub_contracted_item": "Yes",
- "stock_uom": "Nos",
- "has_batch_no": "No",
- "has_serial_no": "No",
- "default_warehouse": "Default Warehouse"
- },
- {
- "name": "Nebula 7",
- "doctype": "Item"
- }
-]
\ No newline at end of file
diff --git a/tests/data/item/nebula_8.txt b/tests/data/item/nebula_8.txt
deleted file mode 100644
index a666379..0000000
--- a/tests/data/item/nebula_8.txt
+++ /dev/null
@@ -1,31 +0,0 @@
-[
- {
- "owner": "Administrator",
- "docstatus": 0,
- "creation": "2012-08-26 11:32:02",
- "modified_by": "Administrator",
- "modified": "2012-08-26 11:32:02"
- },
- {
- "is_service_item": "No",
- "description": "Nebula 8",
- "item_code": "Nebula 8",
- "is_stock_item": "Yes",
- "inspection_required": "No",
- "is_purchase_item": "No",
- "name": "__common__",
- "item_name": "Nebula 8",
- "item_group": "Small Tablets",
- "doctype": "Item",
- "is_sales_item": "Yes",
- "is_sub_contracted_item": "Yes",
- "stock_uom": "Nos",
- "has_batch_no": "No",
- "has_serial_no": "Yes",
- "default_warehouse": "Default Warehouse"
- },
- {
- "name": "Nebula 8",
- "doctype": "Item"
- }
-]
\ No newline at end of file
diff --git a/tests/data/item_group/accessories.txt b/tests/data/item_group/accessories.txt
deleted file mode 100644
index 0b9a491..0000000
--- a/tests/data/item_group/accessories.txt
+++ /dev/null
@@ -1,20 +0,0 @@
-[
- {
- "owner": "Administrator",
- "docstatus": 0,
- "creation": "2012-08-07 09:55:59",
- "modified_by": "Administrator",
- "modified": "2012-08-07 09:55:59"
- },
- {
- "name": "__common__",
- "item_group_name": "Accessories",
- "is_group": "Yes",
- "parent_item_group": "All Item Groups",
- "doctype": "Item Group"
- },
- {
- "name": "Accessories",
- "doctype": "Item Group"
- }
-]
\ No newline at end of file
diff --git a/tests/data/item_group/android.txt b/tests/data/item_group/android.txt
deleted file mode 100644
index 16e2b79..0000000
--- a/tests/data/item_group/android.txt
+++ /dev/null
@@ -1,20 +0,0 @@
-[
- {
- "owner": "Administrator",
- "docstatus": 0,
- "creation": "2012-08-07 09:57:11",
- "modified_by": "Administrator",
- "modified": "2012-08-07 09:57:11"
- },
- {
- "name": "__common__",
- "item_group_name": "Android",
- "is_group": "No",
- "parent_item_group": "Smartphones",
- "doctype": "Item Group"
- },
- {
- "name": "Android",
- "doctype": "Item Group"
- }
-]
\ No newline at end of file
diff --git a/tests/data/item_group/desktops.txt b/tests/data/item_group/desktops.txt
deleted file mode 100644
index ee95f41..0000000
--- a/tests/data/item_group/desktops.txt
+++ /dev/null
@@ -1,20 +0,0 @@
-[
- {
- "owner": "Administrator",
- "docstatus": 0,
- "creation": "2012-08-07 09:55:28",
- "modified_by": "Administrator",
- "modified": "2012-08-07 09:55:28"
- },
- {
- "name": "__common__",
- "item_group_name": "Desktops",
- "is_group": "Yes",
- "parent_item_group": "All Item Groups",
- "doctype": "Item Group"
- },
- {
- "name": "Desktops",
- "doctype": "Item Group"
- }
-]
\ No newline at end of file
diff --git a/tests/data/item_group/full_size_tablets.txt b/tests/data/item_group/full_size_tablets.txt
deleted file mode 100644
index ea590e4..0000000
--- a/tests/data/item_group/full_size_tablets.txt
+++ /dev/null
@@ -1,20 +0,0 @@
-[
- {
- "owner": "Administrator",
- "docstatus": 0,
- "creation": "2012-08-07 09:58:20",
- "modified_by": "Administrator",
- "modified": "2012-08-07 09:58:20"
- },
- {
- "name": "__common__",
- "item_group_name": "Full Size Tablets",
- "is_group": "No",
- "parent_item_group": "Tablets",
- "doctype": "Item Group"
- },
- {
- "name": "Full Size Tablets",
- "doctype": "Item Group"
- }
-]
\ No newline at end of file
diff --git a/tests/data/item_group/gamer.txt b/tests/data/item_group/gamer.txt
deleted file mode 100644
index 55ff0f4..0000000
--- a/tests/data/item_group/gamer.txt
+++ /dev/null
@@ -1,20 +0,0 @@
-[
- {
- "owner": "Administrator",
- "docstatus": 0,
- "creation": "2012-08-07 09:56:27",
- "modified_by": "Administrator",
- "modified": "2012-08-07 09:56:27"
- },
- {
- "name": "__common__",
- "item_group_name": "Gamer",
- "is_group": "No",
- "parent_item_group": "Desktops",
- "doctype": "Item Group"
- },
- {
- "name": "Gamer",
- "doctype": "Item Group"
- }
-]
\ No newline at end of file
diff --git a/tests/data/item_group/home_series.txt b/tests/data/item_group/home_series.txt
deleted file mode 100644
index fabd912..0000000
--- a/tests/data/item_group/home_series.txt
+++ /dev/null
@@ -1,20 +0,0 @@
-[
- {
- "owner": "Administrator",
- "docstatus": 0,
- "creation": "2012-08-07 09:56:15",
- "modified_by": "Administrator",
- "modified": "2012-08-07 09:56:15"
- },
- {
- "name": "__common__",
- "item_group_name": "Home Series",
- "is_group": "No",
- "parent_item_group": "Desktops",
- "doctype": "Item Group"
- },
- {
- "name": "Home Series",
- "doctype": "Item Group"
- }
-]
\ No newline at end of file
diff --git a/tests/data/item_group/laptops.txt b/tests/data/item_group/laptops.txt
deleted file mode 100644
index 20b7c16..0000000
--- a/tests/data/item_group/laptops.txt
+++ /dev/null
@@ -1,20 +0,0 @@
-[
- {
- "owner": "Administrator",
- "docstatus": 0,
- "creation": "2012-08-07 09:55:36",
- "modified_by": "Administrator",
- "modified": "2012-08-07 09:55:36"
- },
- {
- "name": "__common__",
- "item_group_name": "Laptops",
- "is_group": "Yes",
- "parent_item_group": "All Item Groups",
- "doctype": "Item Group"
- },
- {
- "name": "Laptops",
- "doctype": "Item Group"
- }
-]
\ No newline at end of file
diff --git a/tests/data/item_group/lightweight.txt b/tests/data/item_group/lightweight.txt
deleted file mode 100644
index f470b7b..0000000
--- a/tests/data/item_group/lightweight.txt
+++ /dev/null
@@ -1,20 +0,0 @@
-[
- {
- "owner": "Administrator",
- "docstatus": 0,
- "creation": "2012-08-07 09:56:57",
- "modified_by": "Administrator",
- "modified": "2012-08-07 09:56:58"
- },
- {
- "name": "__common__",
- "item_group_name": "Lightweight",
- "is_group": "No",
- "parent_item_group": "Laptops",
- "doctype": "Item Group"
- },
- {
- "name": "Lightweight",
- "doctype": "Item Group"
- }
-]
\ No newline at end of file
diff --git a/tests/data/item_group/medium_tablets.txt b/tests/data/item_group/medium_tablets.txt
deleted file mode 100644
index 0778337..0000000
--- a/tests/data/item_group/medium_tablets.txt
+++ /dev/null
@@ -1,20 +0,0 @@
-[
- {
- "owner": "Administrator",
- "docstatus": 0,
- "creation": "2012-08-07 09:57:51",
- "modified_by": "Administrator",
- "modified": "2012-08-07 09:57:51"
- },
- {
- "name": "__common__",
- "item_group_name": "Medium Tablets",
- "is_group": "No",
- "parent_item_group": "Tablets",
- "doctype": "Item Group"
- },
- {
- "name": "Medium Tablets",
- "doctype": "Item Group"
- }
-]
\ No newline at end of file
diff --git a/tests/data/item_group/pro_series.txt b/tests/data/item_group/pro_series.txt
deleted file mode 100644
index 0a789a8..0000000
--- a/tests/data/item_group/pro_series.txt
+++ /dev/null
@@ -1,20 +0,0 @@
-[
- {
- "owner": "Administrator",
- "docstatus": 0,
- "creation": "2012-08-07 09:56:20",
- "modified_by": "Administrator",
- "modified": "2012-08-07 09:56:20"
- },
- {
- "name": "__common__",
- "item_group_name": "Pro Series",
- "is_group": "No",
- "parent_item_group": "Desktops",
- "doctype": "Item Group"
- },
- {
- "name": "Pro Series",
- "doctype": "Item Group"
- }
-]
\ No newline at end of file
diff --git a/tests/data/item_group/small_tablets.txt b/tests/data/item_group/small_tablets.txt
deleted file mode 100644
index f8a5f26..0000000
--- a/tests/data/item_group/small_tablets.txt
+++ /dev/null
@@ -1,20 +0,0 @@
-[
- {
- "owner": "Administrator",
- "docstatus": 0,
- "creation": "2012-08-07 09:57:44",
- "modified_by": "Administrator",
- "modified": "2012-08-07 09:57:44"
- },
- {
- "name": "__common__",
- "item_group_name": "Small Tablets",
- "is_group": "No",
- "parent_item_group": "Tablets",
- "doctype": "Item Group"
- },
- {
- "name": "Small Tablets",
- "doctype": "Item Group"
- }
-]
\ No newline at end of file
diff --git a/tests/data/item_group/smartphones.txt b/tests/data/item_group/smartphones.txt
deleted file mode 100644
index 15a7abe..0000000
--- a/tests/data/item_group/smartphones.txt
+++ /dev/null
@@ -1,20 +0,0 @@
-[
- {
- "owner": "Administrator",
- "docstatus": 0,
- "creation": "2012-08-07 09:55:49",
- "modified_by": "Administrator",
- "modified": "2012-08-07 09:55:49"
- },
- {
- "name": "__common__",
- "item_group_name": "Smartphones",
- "is_group": "Yes",
- "parent_item_group": "All Item Groups",
- "doctype": "Item Group"
- },
- {
- "name": "Smartphones",
- "doctype": "Item Group"
- }
-]
\ No newline at end of file
diff --git a/tests/data/item_group/tablets.txt b/tests/data/item_group/tablets.txt
deleted file mode 100644
index 3825305..0000000
--- a/tests/data/item_group/tablets.txt
+++ /dev/null
@@ -1,20 +0,0 @@
-[
- {
- "owner": "Administrator",
- "docstatus": 0,
- "creation": "2012-08-07 09:55:42",
- "modified_by": "Administrator",
- "modified": "2012-08-07 09:55:42"
- },
- {
- "name": "__common__",
- "item_group_name": "Tablets",
- "is_group": "Yes",
- "parent_item_group": "All Item Groups",
- "doctype": "Item Group"
- },
- {
- "name": "Tablets",
- "doctype": "Item Group"
- }
-]
\ No newline at end of file
diff --git a/tests/data/item_group/tough.txt b/tests/data/item_group/tough.txt
deleted file mode 100644
index c905a61..0000000
--- a/tests/data/item_group/tough.txt
+++ /dev/null
@@ -1,20 +0,0 @@
-[
- {
- "owner": "Administrator",
- "docstatus": 0,
- "creation": "2012-08-07 09:56:41",
- "modified_by": "Administrator",
- "modified": "2012-08-07 09:56:41"
- },
- {
- "name": "__common__",
- "item_group_name": "Tough",
- "is_group": "No",
- "parent_item_group": "Laptops",
- "doctype": "Item Group"
- },
- {
- "name": "Tough",
- "doctype": "Item Group"
- }
-]
\ No newline at end of file
diff --git a/tests/data/item_group/ultrabook.txt b/tests/data/item_group/ultrabook.txt
deleted file mode 100644
index f75c74f..0000000
--- a/tests/data/item_group/ultrabook.txt
+++ /dev/null
@@ -1,20 +0,0 @@
-[
- {
- "owner": "Administrator",
- "docstatus": 0,
- "creation": "2012-08-07 09:56:50",
- "modified_by": "Administrator",
- "modified": "2012-08-07 09:56:50"
- },
- {
- "name": "__common__",
- "item_group_name": "Ultrabook",
- "is_group": "No",
- "parent_item_group": "Laptops",
- "doctype": "Item Group"
- },
- {
- "name": "Ultrabook",
- "doctype": "Item Group"
- }
-]
\ No newline at end of file
diff --git a/utilities/README.md b/utilities/README.md
new file mode 100644
index 0000000..871f9d4
--- /dev/null
+++ b/utilities/README.md
@@ -0,0 +1 @@
+Common utilities / DocTypes.
\ No newline at end of file
diff --git a/utilities/doctype/address/README.md b/utilities/doctype/address/README.md
new file mode 100644
index 0000000..a4efda6
--- /dev/null
+++ b/utilities/doctype/address/README.md
@@ -0,0 +1 @@
+Address belonging to a Customer or Supplier.
\ No newline at end of file
diff --git a/utilities/doctype/contact/README.md b/utilities/doctype/contact/README.md
new file mode 100644
index 0000000..484522c
--- /dev/null
+++ b/utilities/doctype/contact/README.md
@@ -0,0 +1 @@
+Contact representing a Customer or Supplier.
\ No newline at end of file
diff --git a/utilities/doctype/gl_mapper/__init__.py b/utilities/doctype/gl_mapper/__init__.py
deleted file mode 100644
index baffc48..0000000
--- a/utilities/doctype/gl_mapper/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-from __future__ import unicode_literals
diff --git a/utilities/doctype/gl_mapper/gl_mapper.py b/utilities/doctype/gl_mapper/gl_mapper.py
deleted file mode 100644
index 7f48feb..0000000
--- a/utilities/doctype/gl_mapper/gl_mapper.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-from __future__ import unicode_literals
-import webnotes
-
-class DocType:
- def __init__(self, d, dl):
- self.doc, self.doclist = d, dl
\ No newline at end of file
diff --git a/utilities/doctype/gl_mapper/gl_mapper.txt b/utilities/doctype/gl_mapper/gl_mapper.txt
deleted file mode 100644
index 2059186..0000000
--- a/utilities/doctype/gl_mapper/gl_mapper.txt
+++ /dev/null
@@ -1,73 +0,0 @@
-[
- {
- "creation": "2012-04-13 11:56:40",
- "docstatus": 0,
- "modified": "2012-04-23 12:27:38",
- "modified_by": "Administrator",
- "owner": "Administrator"
- },
- {
- "_last_update": "1305006361",
- "autoname": "field:doc_type",
- "doctype": "DocType",
- "module": "Utilities",
- "name": "__common__",
- "section_style": "Simple",
- "show_in_menu": 0,
- "version": 1
- },
- {
- "doctype": "DocField",
- "name": "__common__",
- "parent": "GL Mapper",
- "parentfield": "fields",
- "parenttype": "DocType",
- "permlevel": 0
- },
- {
- "create": 0,
- "doctype": "DocPerm",
- "name": "__common__",
- "parent": "GL Mapper",
- "parentfield": "permissions",
- "parenttype": "DocType",
- "permlevel": 0,
- "read": 1,
- "report": 1
- },
- {
- "doctype": "DocType",
- "name": "GL Mapper"
- },
- {
- "amend": 0,
- "cancel": 0,
- "doctype": "DocPerm",
- "role": "Accounts User",
- "submit": 0,
- "write": 0
- },
- {
- "doctype": "DocPerm",
- "role": "System Manager",
- "write": 1
- },
- {
- "doctype": "DocField",
- "fieldname": "doc_type",
- "fieldtype": "Data",
- "label": "Doc Type",
- "oldfieldname": "doc_type",
- "oldfieldtype": "Link",
- "reqd": 1
- },
- {
- "doctype": "DocField",
- "fieldname": "fields",
- "fieldtype": "Table",
- "label": "Fields",
- "oldfieldname": "fields",
- "oldfieldtype": "Table",
- "options": "GL Mapper Detail"
- }
-]
\ No newline at end of file
diff --git a/utilities/doctype/gl_mapper/locale/_messages_doc.json b/utilities/doctype/gl_mapper/locale/_messages_doc.json
deleted file mode 100644
index 2a0596b..0000000
--- a/utilities/doctype/gl_mapper/locale/_messages_doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-[
- "Fields",
- "Utilities",
- "Doc Type",
- "GL Mapper"
-]
\ No newline at end of file
diff --git a/utilities/doctype/gl_mapper/locale/ar-doc.json b/utilities/doctype/gl_mapper/locale/ar-doc.json
deleted file mode 100644
index 0fec76d..0000000
--- a/utilities/doctype/gl_mapper/locale/ar-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Doc Type": "\u0646\u0648\u0639 \u0627\u0644\u0648\u062b\u064a\u0642\u0629",
- "Fields": "\u0627\u0644\u062d\u0642\u0648\u0644",
- "GL Mapper": "GL \u0645\u062e\u0637\u0637",
- "Utilities": "\u062e\u062f\u0645\u0627\u062a"
-}
\ No newline at end of file
diff --git a/utilities/doctype/gl_mapper/locale/de-doc.json b/utilities/doctype/gl_mapper/locale/de-doc.json
deleted file mode 100644
index 509d4d2..0000000
--- a/utilities/doctype/gl_mapper/locale/de-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Doc Type": "Doc Type",
- "Fields": "Felder",
- "GL Mapper": "GL Mapper",
- "Utilities": "Dienstprogramme"
-}
\ No newline at end of file
diff --git a/utilities/doctype/gl_mapper/locale/es-doc.json b/utilities/doctype/gl_mapper/locale/es-doc.json
deleted file mode 100644
index 91ab293..0000000
--- a/utilities/doctype/gl_mapper/locale/es-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Doc Type": "Tipo Doc.",
- "Fields": "Campos",
- "GL Mapper": "GL Mapper",
- "Utilities": "Utilidades"
-}
\ No newline at end of file
diff --git a/utilities/doctype/gl_mapper/locale/fr-doc.json b/utilities/doctype/gl_mapper/locale/fr-doc.json
deleted file mode 100644
index ffdc1fb..0000000
--- a/utilities/doctype/gl_mapper/locale/fr-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Doc Type": "Doc Type d'",
- "Fields": "Champs",
- "GL Mapper": "GL Mapper",
- "Utilities": "Utilitaires"
-}
\ No newline at end of file
diff --git a/utilities/doctype/gl_mapper/locale/hi-doc.json b/utilities/doctype/gl_mapper/locale/hi-doc.json
deleted file mode 100644
index 5569f7a..0000000
--- a/utilities/doctype/gl_mapper/locale/hi-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Doc Type": "\u0921\u0949\u0915\u094d\u091f\u0930 \u0915\u0947 \u092a\u094d\u0930\u0915\u093e\u0930",
- "Fields": "\u092b\u0940\u0932\u094d\u0921\u094d\u0938",
- "GL Mapper": "\u091c\u0940\u090f\u0932 \u092a\u094d\u0930\u0924\u093f\u091a\u093f\u0924\u094d\u0930\u0923",
- "Utilities": "\u0909\u092a\u092f\u094b\u0917\u093f\u0924\u093e\u090f\u0901"
-}
\ No newline at end of file
diff --git a/utilities/doctype/gl_mapper/locale/hr-doc.json b/utilities/doctype/gl_mapper/locale/hr-doc.json
deleted file mode 100644
index 7c869cc..0000000
--- a/utilities/doctype/gl_mapper/locale/hr-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Doc Type": "Doc Tip",
- "Fields": "Polja",
- "GL Mapper": "GL Mapper",
- "Utilities": "Komunalne usluge"
-}
\ No newline at end of file
diff --git a/utilities/doctype/gl_mapper/locale/nl-doc.json b/utilities/doctype/gl_mapper/locale/nl-doc.json
deleted file mode 100644
index 57d4d0f..0000000
--- a/utilities/doctype/gl_mapper/locale/nl-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Doc Type": "Doc Type",
- "Fields": "Velden",
- "GL Mapper": "GL Mapper",
- "Utilities": "Utilities"
-}
\ No newline at end of file
diff --git a/utilities/doctype/gl_mapper/locale/pt-BR-doc.json b/utilities/doctype/gl_mapper/locale/pt-BR-doc.json
deleted file mode 100644
index 167ffa7..0000000
--- a/utilities/doctype/gl_mapper/locale/pt-BR-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Doc Type": "Tipo do Documento",
- "Fields": "Campos",
- "GL Mapper": "Mapeamento GL",
- "Utilities": "Utilit\u00e1rios"
-}
\ No newline at end of file
diff --git a/utilities/doctype/gl_mapper/locale/pt-doc.json b/utilities/doctype/gl_mapper/locale/pt-doc.json
deleted file mode 100644
index d67609b..0000000
--- a/utilities/doctype/gl_mapper/locale/pt-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Doc Type": "Tipo Doc",
- "Fields": "Campos",
- "GL Mapper": "GL Mapper",
- "Utilities": "Utilit\u00e1rios"
-}
\ No newline at end of file
diff --git a/utilities/doctype/gl_mapper/locale/sr-doc.json b/utilities/doctype/gl_mapper/locale/sr-doc.json
deleted file mode 100644
index cc3589c..0000000
--- a/utilities/doctype/gl_mapper/locale/sr-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Doc Type": "\u0414\u043e\u043a \u0422\u0438\u043f",
- "Fields": "\u041f\u043e\u0459\u0430",
- "GL Mapper": "\u0413\u041b \u041c\u0430\u043f\u043f\u0435\u0440",
- "Utilities": "\u041a\u043e\u043c\u0443\u043d\u0430\u043b\u043d\u0435 \u0443\u0441\u043b\u0443\u0433\u0435"
-}
\ No newline at end of file
diff --git a/utilities/doctype/gl_mapper/locale/ta-doc.json b/utilities/doctype/gl_mapper/locale/ta-doc.json
deleted file mode 100644
index a47c80c..0000000
--- a/utilities/doctype/gl_mapper/locale/ta-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Doc Type": "Doc \u0bb5\u0b95\u0bc8",
- "Fields": "\u0baa\u0bc1\u0bb2\u0b99\u0bcd\u0b95\u0bb3\u0bcd",
- "GL Mapper": "\u0b9c\u0bc0 mapper",
- "Utilities": "\u0baa\u0baf\u0ba9\u0bcd\u0baa\u0bbe\u0b9f\u0bc1\u0b95\u0bb3\u0bcd"
-}
\ No newline at end of file
diff --git a/utilities/doctype/gl_mapper/locale/th-doc.json b/utilities/doctype/gl_mapper/locale/th-doc.json
deleted file mode 100644
index e1d81bb..0000000
--- a/utilities/doctype/gl_mapper/locale/th-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Doc Type": "\u0e1b\u0e23\u0e30\u0e40\u0e20\u0e17 Doc",
- "Fields": "\u0e2a\u0e32\u0e02\u0e32",
- "GL Mapper": "Mapper GL",
- "Utilities": "\u0e22\u0e39\u0e17\u0e34\u0e25\u0e34\u0e15\u0e35\u0e49"
-}
\ No newline at end of file
diff --git a/utilities/doctype/gl_mapper_detail/__init__.py b/utilities/doctype/gl_mapper_detail/__init__.py
deleted file mode 100644
index baffc48..0000000
--- a/utilities/doctype/gl_mapper_detail/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-from __future__ import unicode_literals
diff --git a/utilities/doctype/gl_mapper_detail/gl_mapper_detail.py b/utilities/doctype/gl_mapper_detail/gl_mapper_detail.py
deleted file mode 100644
index 7f48feb..0000000
--- a/utilities/doctype/gl_mapper_detail/gl_mapper_detail.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-from __future__ import unicode_literals
-import webnotes
-
-class DocType:
- def __init__(self, d, dl):
- self.doc, self.doclist = d, dl
\ No newline at end of file
diff --git a/utilities/doctype/gl_mapper_detail/gl_mapper_detail.txt b/utilities/doctype/gl_mapper_detail/gl_mapper_detail.txt
deleted file mode 100644
index 079a4a1..0000000
--- a/utilities/doctype/gl_mapper_detail/gl_mapper_detail.txt
+++ /dev/null
@@ -1,157 +0,0 @@
-[
- {
- "creation": "2013-02-22 01:28:07",
- "docstatus": 0,
- "modified": "2013-03-07 07:03:21",
- "modified_by": "Administrator",
- "owner": "Administrator"
- },
- {
- "autoname": "GLMDetail.#####",
- "doctype": "DocType",
- "istable": 1,
- "module": "Utilities",
- "name": "__common__"
- },
- {
- "doctype": "DocField",
- "fieldtype": "Data",
- "name": "__common__",
- "oldfieldtype": "Data",
- "parent": "GL Mapper Detail",
- "parentfield": "fields",
- "parenttype": "DocType",
- "permlevel": 0
- },
- {
- "doctype": "DocType",
- "name": "GL Mapper Detail"
- },
- {
- "doctype": "DocField",
- "fieldname": "table_field",
- "label": "Table Field",
- "oldfieldname": "table_field"
- },
- {
- "doctype": "DocField",
- "fieldname": "account",
- "label": "Account",
- "oldfieldname": "account",
- "reqd": 1
- },
- {
- "doctype": "DocField",
- "fieldname": "debit",
- "label": "Debit",
- "oldfieldname": "debit",
- "reqd": 1
- },
- {
- "doctype": "DocField",
- "fieldname": "credit",
- "label": "Credit",
- "oldfieldname": "credit",
- "reqd": 1
- },
- {
- "doctype": "DocField",
- "fieldname": "cost_center",
- "label": "Cost Center",
- "oldfieldname": "cost_center",
- "reqd": 0
- },
- {
- "doctype": "DocField",
- "fieldname": "against",
- "label": "Against",
- "oldfieldname": "against",
- "reqd": 1
- },
- {
- "doctype": "DocField",
- "fieldname": "remarks",
- "label": "Remarks",
- "no_copy": 1,
- "oldfieldname": "remarks",
- "reqd": 1
- },
- {
- "doctype": "DocField",
- "fieldname": "voucher_type",
- "label": "Voucher Type",
- "oldfieldname": "voucher_type",
- "reqd": 1
- },
- {
- "doctype": "DocField",
- "fieldname": "voucher_no",
- "label": "Voucher No",
- "oldfieldname": "voucher_no",
- "reqd": 1
- },
- {
- "description": "The date at which current entry will get or has actually executed.",
- "doctype": "DocField",
- "fieldname": "posting_date",
- "label": "Posting Date",
- "oldfieldname": "posting_date",
- "reqd": 1
- },
- {
- "description": "The date at which current entry is made in system.",
- "doctype": "DocField",
- "fieldname": "transaction_date",
- "label": "Transaction Date",
- "oldfieldname": "transaction_date",
- "reqd": 1
- },
- {
- "doctype": "DocField",
- "fieldname": "aging_date",
- "label": "Aging Date",
- "oldfieldname": "aging_date",
- "reqd": 1
- },
- {
- "doctype": "DocField",
- "fieldname": "fiscal_year",
- "in_filter": 1,
- "label": "Fiscal Year",
- "oldfieldname": "fiscal_year",
- "reqd": 1,
- "search_index": 0
- },
- {
- "doctype": "DocField",
- "fieldname": "against_voucher",
- "label": "Against Voucher",
- "oldfieldname": "against_voucher"
- },
- {
- "doctype": "DocField",
- "fieldname": "against_voucher_type",
- "label": "Against Voucher Type",
- "oldfieldname": "against_voucher_type"
- },
- {
- "doctype": "DocField",
- "fieldname": "company",
- "in_filter": 1,
- "label": "Company",
- "oldfieldname": "company",
- "search_index": 0
- },
- {
- "doctype": "DocField",
- "fieldname": "is_opening",
- "label": "Is Opening",
- "oldfieldname": "is_opening"
- },
- {
- "doctype": "DocField",
- "fieldname": "is_advance",
- "label": "Is Advance",
- "oldfieldname": "is_advance"
- }
-]
\ No newline at end of file
diff --git a/utilities/doctype/gl_mapper_detail/locale/_messages_doc.json b/utilities/doctype/gl_mapper_detail/locale/_messages_doc.json
deleted file mode 100644
index d3d4b62..0000000
--- a/utilities/doctype/gl_mapper_detail/locale/_messages_doc.json
+++ /dev/null
@@ -1,24 +0,0 @@
-[
- "Against Voucher",
- "Against Voucher Type",
- "Cost Center",
- "Debit",
- "Company",
- "Utilities",
- "Remarks",
- "Posting Date",
- "Account",
- "Voucher Type",
- "Against",
- "Credit",
- "Fiscal Year",
- "Is Advance",
- "Table Field",
- "Voucher No",
- "Is Opening",
- "The date at which current entry is made in system.",
- "Transaction Date",
- "GL Mapper Detail",
- "The date at which current entry will get or has actually executed.",
- "Aging Date"
-]
\ No newline at end of file
diff --git a/utilities/doctype/gl_mapper_detail/locale/ar-doc.json b/utilities/doctype/gl_mapper_detail/locale/ar-doc.json
deleted file mode 100644
index 2a3fd9a..0000000
--- a/utilities/doctype/gl_mapper_detail/locale/ar-doc.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "Account": "\u062d\u0633\u0627\u0628",
- "Against": "\u0636\u062f",
- "Against Voucher": "\u0636\u062f \u0642\u0633\u064a\u0645\u0629",
- "Against Voucher Type": "\u0636\u062f \u0646\u0648\u0639 \u0642\u0633\u064a\u0645\u0629",
- "Aging Date": "\u0627\u0644\u0634\u064a\u062e\u0648\u062e\u0629 \u062a\u0627\u0631\u064a\u062e",
- "Company": "\u0634\u0631\u0643\u0629",
- "Cost Center": "\u0645\u0631\u0643\u0632 \u0627\u0644\u062a\u0643\u0644\u0641\u0629",
- "Credit": "\u0627\u0626\u062a\u0645\u0627\u0646",
- "Debit": "\u0645\u062f\u064a\u0646",
- "Fiscal Year": "\u0627\u0644\u0633\u0646\u0629 \u0627\u0644\u0645\u0627\u0644\u064a\u0629",
- "GL Mapper Detail": "GL \u0645\u062e\u0637\u0637 \u062a\u0641\u0635\u064a\u0644\u064a",
- "Is Advance": "\u0647\u0648 \u0627\u0644\u0645\u0642\u062f\u0645\u0629",
- "Is Opening": "\u0648\u0641\u062a\u062d",
- "Posting Date": "\u062a\u0627\u0631\u064a\u062e \u0627\u0644\u0646\u0634\u0631",
- "Remarks": "\u062a\u0635\u0631\u064a\u062d\u0627\u062a",
- "Table Field": "\u0627\u0644\u062c\u062f\u0648\u0644 \u0627\u0644\u0645\u064a\u062f\u0627\u0646\u064a\u0629",
- "The date at which current entry is made in system.": "\u0627\u0644\u062a\u0627\u0631\u064a\u062e \u0627\u0644\u0630\u064a \u064a\u062a\u0645 \u0627\u062f\u062e\u0627\u0644\u0647\u0627 \u0641\u064a \u0627\u0644\u0646\u0638\u0627\u0645 \u0627\u0644\u062d\u0627\u0644\u064a.",
- "The date at which current entry will get or has actually executed.": "\u0646\u0641\u0630\u062a \u0641\u0639\u0644\u064a\u0627 \u0627\u0644\u062a\u0627\u0631\u064a\u062e \u0627\u0644\u0630\u064a \u0633\u0648\u0641 \u062a\u062d\u0635\u0644 \u0627\u0644\u0645\u062f\u062e\u0644 \u0627\u0644\u062d\u0627\u0644\u064a \u0623\u0648.",
- "Transaction Date": "\u062a\u0627\u0631\u064a\u062e \u0627\u0644\u0645\u0639\u0627\u0645\u0644\u0629",
- "Utilities": "\u062e\u062f\u0645\u0627\u062a",
- "Voucher No": "\u0644\u0627 \u0642\u0633\u064a\u0645\u0629",
- "Voucher Type": "\u0642\u0633\u064a\u0645\u0629 \u0646\u0648\u0639"
-}
\ No newline at end of file
diff --git a/utilities/doctype/gl_mapper_detail/locale/de-doc.json b/utilities/doctype/gl_mapper_detail/locale/de-doc.json
deleted file mode 100644
index de6136d..0000000
--- a/utilities/doctype/gl_mapper_detail/locale/de-doc.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "Account": "Konto",
- "Against": "Gegen",
- "Against Voucher": "Gegen Gutschein",
- "Against Voucher Type": "Gegen Gutschein Type",
- "Aging Date": "Aging Datum",
- "Company": "Firma",
- "Cost Center": "Kostenstellenrechnung",
- "Credit": "Kredit",
- "Debit": "Soll",
- "Fiscal Year": "Gesch\u00e4ftsjahr",
- "GL Mapper Detail": "GL Mapper Details",
- "Is Advance": "Ist Advance",
- "Is Opening": "Er\u00f6ffnet",
- "Posting Date": "Buchungsdatum",
- "Remarks": "Bemerkungen",
- "Table Field": "Tabelle Feld",
- "The date at which current entry is made in system.": "Das Datum, an dem aktuellen Eintrag im System hergestellt wird.",
- "The date at which current entry will get or has actually executed.": "Das Datum, an dem aktuellen Eintrag zu erhalten oder wird tats\u00e4chlich ausgef\u00fchrt.",
- "Transaction Date": "Transaction Datum",
- "Utilities": "Dienstprogramme",
- "Voucher No": "Gutschein Nein",
- "Voucher Type": "Gutschein Type"
-}
\ No newline at end of file
diff --git a/utilities/doctype/gl_mapper_detail/locale/es-doc.json b/utilities/doctype/gl_mapper_detail/locale/es-doc.json
deleted file mode 100644
index 1a3b32a..0000000
--- a/utilities/doctype/gl_mapper_detail/locale/es-doc.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "Account": "Cuenta",
- "Against": "Contra",
- "Against Voucher": "Contra Voucher",
- "Against Voucher Type": "Contra el tipo de comprobante",
- "Aging Date": "Fecha de antig\u00fcedad",
- "Company": "Empresa",
- "Cost Center": "De centros de coste",
- "Credit": "Cr\u00e9dito",
- "Debit": "D\u00e9bito",
- "Fiscal Year": "A\u00f1o Fiscal",
- "GL Mapper Detail": "GL Detalle Mapper",
- "Is Advance": "Es anticipado",
- "Is Opening": "Est\u00e1 Abriendo",
- "Posting Date": "Fecha de Publicaci\u00f3n",
- "Remarks": "Observaciones",
- "Table Field": "Tabla de campo",
- "The date at which current entry is made in system.": "La fecha en que se efect\u00fae la entrada actual en el sistema.",
- "The date at which current entry will get or has actually executed.": "La fecha en la que la entrada actual se consigue o se ejecuta realmente.",
- "Transaction Date": "Fecha de Transacci\u00f3n",
- "Utilities": "Utilidades",
- "Voucher No": "Vale No",
- "Voucher Type": "Vale Tipo"
-}
\ No newline at end of file
diff --git a/utilities/doctype/gl_mapper_detail/locale/fr-doc.json b/utilities/doctype/gl_mapper_detail/locale/fr-doc.json
deleted file mode 100644
index dc91246..0000000
--- a/utilities/doctype/gl_mapper_detail/locale/fr-doc.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "Account": "Compte",
- "Against": "Contre",
- "Against Voucher": "Bon contre",
- "Against Voucher Type": "Contre Type de Bon",
- "Aging Date": "Vieillissement Date",
- "Company": "Entreprise",
- "Cost Center": "Centre de co\u00fbts",
- "Credit": "Cr\u00e9dit",
- "Debit": "D\u00e9bit",
- "Fiscal Year": "Exercice",
- "GL Mapper Detail": "D\u00e9tail Mapper GL",
- "Is Advance": "Est-Advance",
- "Is Opening": "Est l'ouverture",
- "Posting Date": "Date de publication",
- "Remarks": "Remarques",
- "Table Field": "De champs de tableau",
- "The date at which current entry is made in system.": "La date \u00e0 laquelle l'entr\u00e9e courante est faite dans le syst\u00e8me.",
- "The date at which current entry will get or has actually executed.": "La date \u00e0 laquelle l'entr\u00e9e actuelle permet de lire ou a r\u00e9ellement ex\u00e9cut\u00e9.",
- "Transaction Date": "Date de la transaction",
- "Utilities": "Utilitaires",
- "Voucher No": "Bon Pas",
- "Voucher Type": "Type de Bon"
-}
\ No newline at end of file
diff --git a/utilities/doctype/gl_mapper_detail/locale/hi-doc.json b/utilities/doctype/gl_mapper_detail/locale/hi-doc.json
deleted file mode 100644
index faa4e40..0000000
--- a/utilities/doctype/gl_mapper_detail/locale/hi-doc.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "Account": "\u0916\u093e\u0924\u093e",
- "Against": "\u0915\u0947 \u0916\u093f\u0932\u093e\u092b",
- "Against Voucher": "\u0935\u093e\u0909\u091a\u0930 \u0915\u0947 \u0916\u093f\u0932\u093e\u092b",
- "Against Voucher Type": "\u0935\u093e\u0909\u091a\u0930 \u092a\u094d\u0930\u0915\u093e\u0930 \u0915\u0947 \u0916\u093f\u0932\u093e\u092b",
- "Aging Date": "\u0924\u093f\u0925\u093f \u090f\u091c\u093f\u0902\u0917",
- "Company": "\u0915\u0902\u092a\u0928\u0940",
- "Cost Center": "\u0932\u093e\u0917\u0924 \u0915\u0947\u0902\u0926\u094d\u0930",
- "Credit": "\u0936\u094d\u0930\u0947\u092f",
- "Debit": "\u0928\u093e\u092e\u0947",
- "Fiscal Year": "\u0935\u093f\u0924\u094d\u0924\u0940\u092f \u0935\u0930\u094d\u0937",
- "GL Mapper Detail": "\u091c\u0940\u090f\u0932 \u092a\u094d\u0930\u0924\u093f\u091a\u093f\u0924\u094d\u0930\u0923 \u0935\u093f\u0938\u094d\u0924\u093e\u0930",
- "Is Advance": "\u0905\u0917\u094d\u0930\u093f\u092e \u0939\u0948",
- "Is Opening": "\u0939\u0948 \u0916\u094b\u0932\u0928\u0947",
- "Posting Date": "\u0924\u093f\u0925\u093f \u092a\u094b\u0938\u094d\u091f\u093f\u0902\u0917",
- "Remarks": "\u091f\u093f\u092a\u094d\u092a\u0923\u093f\u092f\u093e\u0901",
- "Table Field": "\u091f\u0947\u092c\u0932 \u092b\u0940\u0932\u094d\u0921",
- "The date at which current entry is made in system.": "\u0924\u093e\u0930\u0940\u0916, \u091c\u093f\u0938 \u092a\u0930 \u0935\u0930\u094d\u0924\u092e\u093e\u0928 \u092a\u094d\u0930\u0935\u093f\u0937\u094d\u091f\u093f \u092a\u094d\u0930\u0923\u093e\u0932\u0940 \u092e\u0947\u0902 \u0915\u093f\u092f\u093e \u091c\u093e\u0924\u093e \u0939\u0948.",
- "The date at which current entry will get or has actually executed.": "\u0924\u093e\u0930\u0940\u0916, \u091c\u093f\u0938 \u092a\u0930 \u0935\u0930\u094d\u0924\u092e\u093e\u0928 \u092a\u094d\u0930\u0935\u093f\u0937\u094d\u091f\u093f \u092a\u093e\u0928\u0947 \u0915\u0947 \u0932\u093f\u090f \u092f\u093e \u0935\u093e\u0938\u094d\u0924\u0935 \u092e\u0947\u0902 \u092e\u093e\u0930 \u0921\u093e\u0932\u093e \u0917\u092f\u093e \u0939\u0948.",
- "Transaction Date": "\u0932\u0947\u0928\u0926\u0947\u0928 \u0915\u0940 \u0924\u093e\u0930\u0940\u0916",
- "Utilities": "\u0909\u092a\u092f\u094b\u0917\u093f\u0924\u093e\u090f\u0901",
- "Voucher No": "\u0915\u094b\u0908 \u0935\u093e\u0909\u091a\u0930",
- "Voucher Type": "\u0935\u093e\u0909\u091a\u0930 \u092a\u094d\u0930\u0915\u093e\u0930"
-}
\ No newline at end of file
diff --git a/utilities/doctype/gl_mapper_detail/locale/hr-doc.json b/utilities/doctype/gl_mapper_detail/locale/hr-doc.json
deleted file mode 100644
index cdc6d07..0000000
--- a/utilities/doctype/gl_mapper_detail/locale/hr-doc.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "Account": "Ra\u010dun",
- "Against": "Protiv",
- "Against Voucher": "Protiv Voucheru",
- "Against Voucher Type": "Protiv voucher vrsti",
- "Aging Date": "Starenje Datum",
- "Company": "Dru\u0161tvo",
- "Cost Center": "Tro\u0161ka",
- "Credit": "Kredit",
- "Debit": "Zadu\u017eenje",
- "Fiscal Year": "Fiskalna godina",
- "GL Mapper Detail": "GL Mapper Detalj",
- "Is Advance": "Je Predujam",
- "Is Opening": "Je Otvaranje",
- "Posting Date": "Objavljivanje Datum",
- "Remarks": "Primjedbe",
- "Table Field": "Tablica Polje",
- "The date at which current entry is made in system.": "Datum na koji teku\u0107i zapis se sastoji u sustavu.",
- "The date at which current entry will get or has actually executed.": "Datum na koji teku\u0107i zapis \u0107e dobiti ili zapravo je pogubljen.",
- "Transaction Date": "Transakcija Datum",
- "Utilities": "Komunalne usluge",
- "Voucher No": "Bon Ne",
- "Voucher Type": "Bon Tip"
-}
\ No newline at end of file
diff --git a/utilities/doctype/gl_mapper_detail/locale/nl-doc.json b/utilities/doctype/gl_mapper_detail/locale/nl-doc.json
deleted file mode 100644
index fd7f353..0000000
--- a/utilities/doctype/gl_mapper_detail/locale/nl-doc.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "Account": "Rekening",
- "Against": "Tegen",
- "Against Voucher": "Tegen Voucher",
- "Against Voucher Type": "Tegen Voucher Type",
- "Aging Date": "Aging Datum",
- "Company": "Vennootschap",
- "Cost Center": "Kostenplaats",
- "Credit": "Krediet",
- "Debit": "Debet",
- "Fiscal Year": "Boekjaar",
- "GL Mapper Detail": "GL Mapper Detail",
- "Is Advance": "Is Advance",
- "Is Opening": "Is openen",
- "Posting Date": "Plaatsingsdatum",
- "Remarks": "Opmerkingen",
- "Table Field": "Tabel Veld",
- "The date at which current entry is made in system.": "De datum waarop huidige item wordt gemaakt in het systeem.",
- "The date at which current entry will get or has actually executed.": "De datum waarop huidige item krijgt of heeft daadwerkelijk zijn uitgevoerd.",
- "Transaction Date": "Transactie Datum",
- "Utilities": "Utilities",
- "Voucher No": "Blad nr.",
- "Voucher Type": "Voucher Type"
-}
\ No newline at end of file
diff --git a/utilities/doctype/gl_mapper_detail/locale/pt-BR-doc.json b/utilities/doctype/gl_mapper_detail/locale/pt-BR-doc.json
deleted file mode 100644
index 63b65f3..0000000
--- a/utilities/doctype/gl_mapper_detail/locale/pt-BR-doc.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "Account": "Conta",
- "Against": "Contra",
- "Against Voucher": "Contra Comprovante",
- "Against Voucher Type": "Contra Tipo de Comprovante",
- "Aging Date": "Data de Envelhecimento",
- "Company": "Empresa",
- "Cost Center": "Centro de Custos",
- "Credit": "Cr\u00e9dito",
- "Debit": "D\u00e9bito",
- "Fiscal Year": "Exerc\u00edcio fiscal",
- "GL Mapper Detail": "Detalhe do Mapeamento GL",
- "Is Advance": "\u00c9 antecipado",
- "Is Opening": "\u00c9 abertura",
- "Posting Date": "Data da Postagem",
- "Remarks": "Observa\u00e7\u00f5es",
- "Table Field": "Campo da Tabela",
- "The date at which current entry is made in system.": "A data em que o lan\u00e7amento atual \u00e9 feito no sistema.",
- "The date at which current entry will get or has actually executed.": "A data em que o lan\u00e7amento atual vai ser ou foi realmente executado.",
- "Transaction Date": "Data da Transa\u00e7\u00e3o",
- "Utilities": "Utilit\u00e1rios",
- "Voucher No": "N\u00ba do comprovante",
- "Voucher Type": "Tipo de comprovante"
-}
\ No newline at end of file
diff --git a/utilities/doctype/gl_mapper_detail/locale/pt-doc.json b/utilities/doctype/gl_mapper_detail/locale/pt-doc.json
deleted file mode 100644
index 3bef987..0000000
--- a/utilities/doctype/gl_mapper_detail/locale/pt-doc.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "Account": "Conta",
- "Against": "Contra",
- "Against Voucher": "Contra Vale",
- "Against Voucher Type": "Tipo contra Vale",
- "Aging Date": "Envelhecimento Data",
- "Company": "Companhia",
- "Cost Center": "Centro de Custos",
- "Credit": "Cr\u00e9dito",
- "Debit": "D\u00e9bito",
- "Fiscal Year": "Exerc\u00edcio fiscal",
- "GL Mapper Detail": "GL Detalhe Mapper",
- "Is Advance": "\u00c9 o avan\u00e7o",
- "Is Opening": "Est\u00e1 abrindo",
- "Posting Date": "Data da Publica\u00e7\u00e3o",
- "Remarks": "Observa\u00e7\u00f5es",
- "Table Field": "Campos da Tabela",
- "The date at which current entry is made in system.": "A data em que a entrada actual \u00e9 feita no sistema.",
- "The date at which current entry will get or has actually executed.": "A data em que a entrada de corrente vai ter ou tem realmente executado.",
- "Transaction Date": "Data Transa\u00e7\u00e3o",
- "Utilities": "Utilit\u00e1rios",
- "Voucher No": "N\u00e3o vale",
- "Voucher Type": "Tipo comprovante"
-}
\ No newline at end of file
diff --git a/utilities/doctype/gl_mapper_detail/locale/sr-doc.json b/utilities/doctype/gl_mapper_detail/locale/sr-doc.json
deleted file mode 100644
index aad8d87..0000000
--- a/utilities/doctype/gl_mapper_detail/locale/sr-doc.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "Account": "\u0420\u0430\u0447\u0443\u043d",
- "Against": "\u041f\u0440\u043e\u0442\u0438\u0432",
- "Against Voucher": "\u041f\u0440\u043e\u0442\u0438\u0432 \u0432\u0430\u0443\u0447\u0435\u0440",
- "Against Voucher Type": "\u041f\u0440\u043e\u0442\u0438\u0432 \u0412\u0430\u0443\u0446\u0435\u0440 \u0422\u0438\u043f\u0435",
- "Aging Date": "\u0421\u0442\u0430\u0440\u0435\u045a\u0435 \u0414\u0430\u0442\u0435",
- "Company": "\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u0458\u0430",
- "Cost Center": "\u0422\u0440\u043e\u0448\u043a\u043e\u0432\u0438 \u0446\u0435\u043d\u0442\u0430\u0440",
- "Credit": "\u041a\u0440\u0435\u0434\u0438\u0442",
- "Debit": "\u0417\u0430\u0434\u0443\u0436\u0435\u045a\u0435",
- "Fiscal Year": "\u0424\u0438\u0441\u043a\u0430\u043b\u043d\u0430 \u0433\u043e\u0434\u0438\u043d\u0430",
- "GL Mapper Detail": "\u0413\u041b \u041c\u0430\u043f\u043f\u0435\u0440 \u0414\u0435\u0442\u0430\u0459",
- "Is Advance": "\u0414\u0430 \u043b\u0438 \u0410\u0434\u0432\u0430\u043d\u0446\u0435",
- "Is Opening": "\u0414\u0430 \u043b\u0438 \u041e\u0442\u0432\u0430\u0440\u0430\u045a\u0435",
- "Posting Date": "\u041f\u043e\u0441\u0442\u0430\u0432\u0459\u0430\u045a\u0435 \u0414\u0430\u0442\u0435",
- "Remarks": "\u041f\u0440\u0438\u043c\u0435\u0434\u0431\u0435",
- "Table Field": "\u0422\u0430\u0431\u0435\u043b\u0430 \u041f\u043e\u0459\u0435",
- "The date at which current entry is made in system.": "\u0414\u0430\u0442\u0443\u043c \u043d\u0430 \u043a\u043e\u0458\u0438 \u0458\u0435 \u0442\u0440\u0435\u043d\u0443\u0442\u043d\u0438 \u0443\u043d\u043e\u0441 \u043d\u0430\u043f\u0440\u0430\u0432\u0459\u0435\u043d \u0443 \u0441\u0438\u0441\u0442\u0435\u043c\u0443.",
- "The date at which current entry will get or has actually executed.": "\u0414\u0430\u0442\u0443\u043c \u043d\u0430 \u043a\u043e\u0458\u0438 \u0442\u0440\u0435\u043d\u0443\u0442\u043d\u0430 \u0441\u0442\u0430\u0432\u043a\u0430 \u045b\u0435 \u0434\u043e\u0431\u0438\u0442\u0438 \u0438\u043b\u0438 \u0458\u0435 \u0441\u0442\u0432\u0430\u0440\u043d\u043e \u0438\u0437\u0432\u0440\u0448\u0435\u043d\u0430.",
- "Transaction Date": "\u0422\u0440\u0430\u043d\u0441\u0430\u043a\u0446\u0438\u0458\u0430 \u0414\u0430\u0442\u0443\u043c",
- "Utilities": "\u041a\u043e\u043c\u0443\u043d\u0430\u043b\u043d\u0435 \u0443\u0441\u043b\u0443\u0433\u0435",
- "Voucher No": "\u0412\u0430\u0443\u0447\u0435\u0440 \u041d\u0435\u043c\u0430",
- "Voucher Type": "\u0412\u0430\u0443\u0447\u0435\u0440 \u0422\u0438\u043f"
-}
\ No newline at end of file
diff --git a/utilities/doctype/gl_mapper_detail/locale/ta-doc.json b/utilities/doctype/gl_mapper_detail/locale/ta-doc.json
deleted file mode 100644
index 23f1796..0000000
--- a/utilities/doctype/gl_mapper_detail/locale/ta-doc.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "Account": "\u0b95\u0ba3\u0b95\u0bcd\u0b95\u0bc1",
- "Against": "\u0b8e\u0ba4\u0bbf\u0bb0\u0bbe\u0b95",
- "Against Voucher": "\u0bb5\u0bb5\u0bc1\u0b9a\u0bcd\u0b9a\u0bb0\u0bcd \u0b8e\u0ba4\u0bbf\u0bb0\u0bbe\u0b95",
- "Against Voucher Type": "\u0bb5\u0bb5\u0bc1\u0b9a\u0bcd\u0b9a\u0bb0\u0bcd \u0bb5\u0b95\u0bc8 \u0b8e\u0ba4\u0bbf\u0bb0\u0bbe\u0b95",
- "Aging Date": "\u0ba4\u0bc7\u0ba4\u0bbf \u0bb5\u0baf\u0ba4\u0bbe\u0ba9",
- "Company": "\u0ba8\u0bbf\u0bb1\u0bc1\u0bb5\u0ba9\u0bae\u0bcd",
- "Cost Center": "\u0b9a\u0bc6\u0bb2\u0bb5\u0bc1 \u0bae\u0bc8\u0baf\u0bae\u0bcd",
- "Credit": "\u0b95\u0b9f\u0ba9\u0bcd",
- "Debit": "\u0baa\u0bb1\u0bcd\u0bb1\u0bc1",
- "Fiscal Year": "\u0ba8\u0bbf\u0ba4\u0bbf\u0baf\u0bbe\u0ba3\u0bcd\u0b9f\u0bc1",
- "GL Mapper Detail": "\u0b9c\u0bc0 mapper \u0bb5\u0bbf\u0bb0\u0bbf\u0bb5\u0bbe\u0b95",
- "Is Advance": "\u0bae\u0bc1\u0ba9\u0bcd\u0baa\u0ba3\u0bae\u0bcd",
- "Is Opening": "\u0ba4\u0bbf\u0bb1\u0b95\u0bcd\u0b95\u0bbf\u0bb1\u0ba4\u0bc1",
- "Posting Date": "\u0ba4\u0bc7\u0ba4\u0bbf \u0ba4\u0b95\u0bb5\u0bb2\u0bcd\u0b95\u0bb3\u0bc1\u0b95\u0bcd\u0b95\u0bc1",
- "Remarks": "\u0b95\u0bb0\u0bc1\u0ba4\u0bcd\u0ba4\u0bc1\u0b95\u0bcd\u0b95\u0bb3\u0bcd",
- "Table Field": "\u0b85\u0b9f\u0bcd\u0b9f\u0bb5\u0ba3\u0bc8 \u0baa\u0bc1\u0bb2\u0bae\u0bcd",
- "The date at which current entry is made in system.": "\u0ba4\u0bb1\u0bcd\u0baa\u0bc7\u0bbe\u0ba4\u0bc8\u0baf \u0b89\u0bb3\u0bcd\u0bb3\u0bc0\u0b9f\u0bc1 \u0b85\u0bae\u0bc8\u0baa\u0bcd\u0baa\u0bc1 \u0b89\u0bb0\u0bc1\u0bb5\u0bbe\u0b95\u0bcd\u0b95\u0baa\u0bcd\u0baa\u0b9f\u0bc1\u0bae\u0bcd \u0ba4\u0bc7\u0ba4\u0bbf.",
- "The date at which current entry will get or has actually executed.": "\u0ba4\u0bb1\u0bcd\u0baa\u0bc7\u0bbe\u0ba4\u0bc8\u0baf \u0b89\u0bb3\u0bcd\u0bb3\u0bc0\u0b9f\u0bc1 \u0b85\u0bb2\u0bcd\u0bb2\u0ba4\u0bc1 \u0b8e\u0ba8\u0bcd\u0ba4 \u0ba4\u0bc7\u0ba4\u0bbf \u0b89\u0ba3\u0bcd\u0bae\u0bc8\u0baf\u0bbf\u0bb2\u0bcd \u0ba4\u0bc2\u0b95\u0bcd\u0b95\u0bbf\u0bb2\u0bbf\u0b9f\u0baa\u0bcd\u0baa\u0b9f\u0bcd\u0b9f\u0bbe\u0bb0\u0bcd.",
- "Transaction Date": "\u0baa\u0bb0\u0bbf\u0bb5\u0bb0\u0bcd\u0ba4\u0bcd\u0ba4\u0ba9\u0bc8 \u0ba4\u0bc7\u0ba4\u0bbf",
- "Utilities": "\u0baa\u0baf\u0ba9\u0bcd\u0baa\u0bbe\u0b9f\u0bc1\u0b95\u0bb3\u0bcd",
- "Voucher No": "\u0bb0\u0b9a\u0bc0\u0ba4\u0bc1 \u0b87\u0bb2\u0bcd\u0bb2\u0bc8",
- "Voucher Type": "\u0bb0\u0b9a\u0bc0\u0ba4\u0bc1 \u0bb5\u0b95\u0bc8"
-}
\ No newline at end of file
diff --git a/utilities/doctype/gl_mapper_detail/locale/th-doc.json b/utilities/doctype/gl_mapper_detail/locale/th-doc.json
deleted file mode 100644
index 6f39208..0000000
--- a/utilities/doctype/gl_mapper_detail/locale/th-doc.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "Account": "\u0e1a\u0e31\u0e0d\u0e0a\u0e35",
- "Against": "\u0e01\u0e31\u0e1a",
- "Against Voucher": "\u0e01\u0e31\u0e1a\u0e1a\u0e31\u0e15\u0e23\u0e01\u0e33\u0e19\u0e31\u0e25",
- "Against Voucher Type": "\u0e01\u0e31\u0e1a\u0e1b\u0e23\u0e30\u0e40\u0e20\u0e17\u0e1a\u0e31\u0e15\u0e23",
- "Aging Date": "Aging \u0e27\u0e31\u0e19\u0e17\u0e35\u0e48",
- "Company": "\u0e1a\u0e23\u0e34\u0e29\u0e31\u0e17",
- "Cost Center": "\u0e28\u0e39\u0e19\u0e22\u0e4c\u0e15\u0e49\u0e19\u0e17\u0e38\u0e19",
- "Credit": "\u0e40\u0e04\u0e23\u0e14\u0e34\u0e15",
- "Debit": "\u0e2b\u0e31\u0e01\u0e1a\u0e31\u0e0d\u0e0a\u0e35",
- "Fiscal Year": "\u0e1b\u0e35\u0e07\u0e1a\u0e1b\u0e23\u0e30\u0e21\u0e32\u0e13",
- "GL Mapper Detail": "\u0e23\u0e32\u0e22\u0e25\u0e30\u0e40\u0e2d\u0e35\u0e22\u0e14 Mapper GL",
- "Is Advance": "\u0e25\u0e48\u0e27\u0e07\u0e2b\u0e19\u0e49\u0e32",
- "Is Opening": "\u0e04\u0e37\u0e2d\u0e01\u0e32\u0e23\u0e40\u0e1b\u0e34\u0e14",
- "Posting Date": "\u0e42\u0e1e\u0e2a\u0e15\u0e4c\u0e27\u0e31\u0e19\u0e17\u0e35\u0e48",
- "Remarks": "\u0e02\u0e49\u0e2d\u0e04\u0e34\u0e14\u0e40\u0e2b\u0e47\u0e19",
- "Table Field": "\u0e40\u0e02\u0e15\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e15\u0e32\u0e23\u0e32\u0e07",
- "The date at which current entry is made in system.": "\u0e27\u0e31\u0e19\u0e17\u0e35\u0e48\u0e17\u0e35\u0e48\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23\u0e1b\u0e31\u0e08\u0e08\u0e38\u0e1a\u0e31\u0e19\u0e08\u0e30\u0e17\u0e33\u0e43\u0e19\u0e23\u0e30\u0e1a\u0e1a",
- "The date at which current entry will get or has actually executed.": "\u0e27\u0e31\u0e19\u0e17\u0e35\u0e48\u0e17\u0e35\u0e48\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23\u0e1b\u0e31\u0e08\u0e08\u0e38\u0e1a\u0e31\u0e19\u0e08\u0e30\u0e44\u0e14\u0e49\u0e23\u0e31\u0e1a\u0e2b\u0e23\u0e37\u0e2d\u0e44\u0e14\u0e49\u0e14\u0e33\u0e40\u0e19\u0e34\u0e19\u0e01\u0e32\u0e23\u0e08\u0e23\u0e34\u0e07",
- "Transaction Date": "\u0e27\u0e31\u0e19\u0e17\u0e35\u0e48\u0e17\u0e33\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23",
- "Utilities": "\u0e22\u0e39\u0e17\u0e34\u0e25\u0e34\u0e15\u0e35\u0e49",
- "Voucher No": "\u0e1a\u0e31\u0e15\u0e23\u0e01\u0e33\u0e19\u0e31\u0e25\u0e44\u0e21\u0e48\u0e21\u0e35",
- "Voucher Type": "\u0e1b\u0e23\u0e30\u0e40\u0e20\u0e17\u0e1a\u0e31\u0e15\u0e23\u0e01\u0e33\u0e19\u0e31\u0e25"
-}
\ No newline at end of file
diff --git a/utilities/doctype/note/README.md b/utilities/doctype/note/README.md
new file mode 100644
index 0000000..95d7b33
--- /dev/null
+++ b/utilities/doctype/note/README.md
@@ -0,0 +1 @@
+Shared Note. (Page with standard information, links, attachments).
\ No newline at end of file
diff --git a/utilities/doctype/note_user/README.md b/utilities/doctype/note_user/README.md
new file mode 100644
index 0000000..a8e066d
--- /dev/null
+++ b/utilities/doctype/note_user/README.md
@@ -0,0 +1 @@
+User who can access / edit the parent Note.
\ No newline at end of file
diff --git a/utilities/doctype/profile_control/__init__.py b/utilities/doctype/profile_control/__init__.py
deleted file mode 100644
index baffc48..0000000
--- a/utilities/doctype/profile_control/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-from __future__ import unicode_literals
diff --git a/utilities/doctype/profile_control/locale/_messages_doc.json b/utilities/doctype/profile_control/locale/_messages_doc.json
deleted file mode 100644
index e0d0206..0000000
--- a/utilities/doctype/profile_control/locale/_messages_doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-[
- "Utilities",
- "Profile Control"
-]
\ No newline at end of file
diff --git a/utilities/doctype/profile_control/locale/ar-doc.json b/utilities/doctype/profile_control/locale/ar-doc.json
deleted file mode 100644
index 534e9a6..0000000
--- a/utilities/doctype/profile_control/locale/ar-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Profile Control": "\u0627\u0644\u0645\u0644\u0641 \u0627\u0644\u0634\u062e\u0635\u064a \u0627\u0644\u062a\u062d\u0643\u0645",
- "Utilities": "\u062e\u062f\u0645\u0627\u062a"
-}
\ No newline at end of file
diff --git a/utilities/doctype/profile_control/locale/de-doc.json b/utilities/doctype/profile_control/locale/de-doc.json
deleted file mode 100644
index b5c3bc1..0000000
--- a/utilities/doctype/profile_control/locale/de-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Profile Control": "Profile Control",
- "Utilities": "Dienstprogramme"
-}
\ No newline at end of file
diff --git a/utilities/doctype/profile_control/locale/es-doc.json b/utilities/doctype/profile_control/locale/es-doc.json
deleted file mode 100644
index 531fe5d..0000000
--- a/utilities/doctype/profile_control/locale/es-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Profile Control": "Perfil de control",
- "Utilities": "Utilidades"
-}
\ No newline at end of file
diff --git a/utilities/doctype/profile_control/locale/fr-doc.json b/utilities/doctype/profile_control/locale/fr-doc.json
deleted file mode 100644
index e294510..0000000
--- a/utilities/doctype/profile_control/locale/fr-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Profile Control": "Contr\u00f4le profil",
- "Utilities": "Utilitaires"
-}
\ No newline at end of file
diff --git a/utilities/doctype/profile_control/locale/hi-doc.json b/utilities/doctype/profile_control/locale/hi-doc.json
deleted file mode 100644
index 8d4a388..0000000
--- a/utilities/doctype/profile_control/locale/hi-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Profile Control": "\u092a\u094d\u0930\u094b\u092b\u093c\u093e\u0907\u0932 \u0928\u093f\u092f\u0902\u0924\u094d\u0930\u0923",
- "Utilities": "\u0909\u092a\u092f\u094b\u0917\u093f\u0924\u093e\u090f\u0901"
-}
\ No newline at end of file
diff --git a/utilities/doctype/profile_control/locale/hr-doc.json b/utilities/doctype/profile_control/locale/hr-doc.json
deleted file mode 100644
index 98df106..0000000
--- a/utilities/doctype/profile_control/locale/hr-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Profile Control": "Profil kontrola",
- "Utilities": "Komunalne usluge"
-}
\ No newline at end of file
diff --git a/utilities/doctype/profile_control/locale/nl-doc.json b/utilities/doctype/profile_control/locale/nl-doc.json
deleted file mode 100644
index 7d857d6..0000000
--- a/utilities/doctype/profile_control/locale/nl-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Profile Control": "Profiel Controle",
- "Utilities": "Utilities"
-}
\ No newline at end of file
diff --git a/utilities/doctype/profile_control/locale/pt-BR-doc.json b/utilities/doctype/profile_control/locale/pt-BR-doc.json
deleted file mode 100644
index bf95a3a..0000000
--- a/utilities/doctype/profile_control/locale/pt-BR-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Profile Control": "Controle de Perfil",
- "Utilities": "Utilit\u00e1rios"
-}
\ No newline at end of file
diff --git a/utilities/doctype/profile_control/locale/pt-doc.json b/utilities/doctype/profile_control/locale/pt-doc.json
deleted file mode 100644
index 3f2a2d5..0000000
--- a/utilities/doctype/profile_control/locale/pt-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Profile Control": "Controlo de perfil",
- "Utilities": "Utilit\u00e1rios"
-}
\ No newline at end of file
diff --git a/utilities/doctype/profile_control/locale/sr-doc.json b/utilities/doctype/profile_control/locale/sr-doc.json
deleted file mode 100644
index 6bd05ae..0000000
--- a/utilities/doctype/profile_control/locale/sr-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Profile Control": "\u041f\u0440\u043e\u0444\u0438\u043b \u041a\u043e\u043d\u0442\u0440\u043e\u043b\u0430",
- "Utilities": "\u041a\u043e\u043c\u0443\u043d\u0430\u043b\u043d\u0435 \u0443\u0441\u043b\u0443\u0433\u0435"
-}
\ No newline at end of file
diff --git a/utilities/doctype/profile_control/locale/ta-doc.json b/utilities/doctype/profile_control/locale/ta-doc.json
deleted file mode 100644
index 8b3c207..0000000
--- a/utilities/doctype/profile_control/locale/ta-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Profile Control": "\u0b9a\u0bc1\u0baf\u0bb5\u0bbf\u0bb5\u0bb0\u0ba4\u0bcd\u0ba4\u0bc8 \u0b95\u0b9f\u0bcd\u0b9f\u0bc1\u0baa\u0bcd\u0baa\u0bbe\u0b9f\u0bc1",
- "Utilities": "\u0baa\u0baf\u0ba9\u0bcd\u0baa\u0bbe\u0b9f\u0bc1\u0b95\u0bb3\u0bcd"
-}
\ No newline at end of file
diff --git a/utilities/doctype/profile_control/locale/th-doc.json b/utilities/doctype/profile_control/locale/th-doc.json
deleted file mode 100644
index 9f992af..0000000
--- a/utilities/doctype/profile_control/locale/th-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Profile Control": "\u0e04\u0e27\u0e1a\u0e04\u0e38\u0e21\u0e23\u0e32\u0e22\u0e25\u0e30\u0e40\u0e2d\u0e35\u0e22\u0e14",
- "Utilities": "\u0e22\u0e39\u0e17\u0e34\u0e25\u0e34\u0e15\u0e35\u0e49"
-}
\ No newline at end of file
diff --git a/utilities/doctype/profile_control/profile_control.py b/utilities/doctype/profile_control/profile_control.py
deleted file mode 100644
index 340293dc..0000000
--- a/utilities/doctype/profile_control/profile_control.py
+++ /dev/null
@@ -1,67 +0,0 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-from __future__ import unicode_literals
-import webnotes
-
-from webnotes.utils import cstr
-from webnotes.model import db_exists
-from webnotes.model.doc import Document
-from webnotes.model.bean import copy_doclist
-
-sql = webnotes.conn.sql
-
-
-
-class DocType:
- def __init__(self,d,dl):
- self.doc, self.doclist = d,dl
- self.last_profile = None
-
- def get_role_permission(self,role):
- perm = sql("select distinct t1.`parent`, t1.`read`, t1.`write`, t1.`create`, t1.`submit`,t1.`cancel`,t1.`amend` from `tabDocPerm` t1, `tabDocType` t2 where t1.`role` ='%s' and t1.docstatus !=2 and t1.permlevel = 0 and t1.`read` = 1 and t2.module != 'Recycle Bin' and t1.parent=t2.name "%role)
- return perm or ''
-
-#------------return role list -------------------------------------------------------------------------------------------------
- # All roles of Role Master
- def get_role(self):
- r_list=sql("select name from `tabRole` where name not in ('Administrator','All','Guest')")
- if r_list[0][0]:
- r_list = [x[0] for x in r_list]
- return r_list
-
- # Only user specific role
- def get_user_role(self,usr):
- r_list=sql("select role from `tabUserRole` where parent=%s and role not in ('Administrator','All','Guest')",usr)
- if r_list[0][0]:
- r_list = [x[0] for x in r_list]
- else:
- r_list=[]
- return r_list
-
- # adding new role
- def add_user_role(self,args):
- arg=eval(args)
- sql("delete from `tabUserRole` where parenttype='Profile' and parent ='%s'" % (cstr(arg['user'])))
- role_list = arg['role_list'].split(',')
- for r in role_list:
- pr=Document('UserRole')
- pr.parent = arg['user']
- pr.parenttype = 'Profile'
- pr.role = r
- pr.parentfield = 'userroles'
- pr.save(1)
-
diff --git a/utilities/doctype/profile_control/profile_control.txt b/utilities/doctype/profile_control/profile_control.txt
deleted file mode 100644
index e0904cd..0000000
--- a/utilities/doctype/profile_control/profile_control.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-[
- {
- "creation": "2012-03-27 14:36:47",
- "docstatus": 0,
- "modified": "2012-03-27 14:36:47",
- "modified_by": "Administrator",
- "owner": "Administrator"
- },
- {
- "doctype": "DocType",
- "issingle": 1,
- "module": "Utilities",
- "name": "__common__",
- "section_style": "Simple",
- "show_in_menu": 0,
- "version": 12
- },
- {
- "doctype": "DocType",
- "name": "Profile Control"
- }
-]
\ No newline at end of file
diff --git a/utilities/doctype/rename_tool/README.md b/utilities/doctype/rename_tool/README.md
new file mode 100644
index 0000000..38d408c
--- /dev/null
+++ b/utilities/doctype/rename_tool/README.md
@@ -0,0 +1 @@
+Tool to rename in bulk by uploading a .csv file.
\ No newline at end of file
diff --git a/utilities/doctype/sms_log/README.md b/utilities/doctype/sms_log/README.md
new file mode 100644
index 0000000..9ee2b79
--- /dev/null
+++ b/utilities/doctype/sms_log/README.md
@@ -0,0 +1 @@
+Log of SMS sent via SMS Center.
\ No newline at end of file
diff --git a/utilities/doctype/sms_receiver/__init__.py b/utilities/doctype/sms_receiver/__init__.py
deleted file mode 100644
index baffc48..0000000
--- a/utilities/doctype/sms_receiver/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-from __future__ import unicode_literals
diff --git a/utilities/doctype/sms_receiver/locale/_messages_doc.json b/utilities/doctype/sms_receiver/locale/_messages_doc.json
deleted file mode 100644
index e9845c5..0000000
--- a/utilities/doctype/sms_receiver/locale/_messages_doc.json
+++ /dev/null
@@ -1,7 +0,0 @@
-[
- "SMS Receiver",
- "Utilities",
- "Receiver Name",
- "Customer Name",
- "Mobile No"
-]
\ No newline at end of file
diff --git a/utilities/doctype/sms_receiver/locale/ar-doc.json b/utilities/doctype/sms_receiver/locale/ar-doc.json
deleted file mode 100644
index 3722d5f..0000000
--- a/utilities/doctype/sms_receiver/locale/ar-doc.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "Customer Name": "\u0627\u0633\u0645 \u0627\u0644\u0639\u0645\u064a\u0644",
- "Mobile No": "\u0631\u0642\u0645 \u0627\u0644\u062c\u0648\u0627\u0644",
- "Receiver Name": "\u0627\u0633\u062a\u0642\u0628\u0627\u0644 \u0627\u0633\u0645",
- "SMS Receiver": "SMS \u0627\u0633\u062a\u0642\u0628\u0627\u0644",
- "Utilities": "\u062e\u062f\u0645\u0627\u062a"
-}
\ No newline at end of file
diff --git a/utilities/doctype/sms_receiver/locale/de-doc.json b/utilities/doctype/sms_receiver/locale/de-doc.json
deleted file mode 100644
index 59bea69..0000000
--- a/utilities/doctype/sms_receiver/locale/de-doc.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "Customer Name": "Name des Kunden",
- "Mobile No": "In Mobile",
- "Receiver Name": "Name des Empf\u00e4ngers",
- "SMS Receiver": "SMS-Empf\u00e4nger",
- "Utilities": "Dienstprogramme"
-}
\ No newline at end of file
diff --git a/utilities/doctype/sms_receiver/locale/es-doc.json b/utilities/doctype/sms_receiver/locale/es-doc.json
deleted file mode 100644
index 69ea344..0000000
--- a/utilities/doctype/sms_receiver/locale/es-doc.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "Customer Name": "Nombre del cliente",
- "Mobile No": "Mobile No",
- "Receiver Name": "Nombre del receptor",
- "SMS Receiver": "SMS Receiver",
- "Utilities": "Utilidades"
-}
\ No newline at end of file
diff --git a/utilities/doctype/sms_receiver/locale/fr-doc.json b/utilities/doctype/sms_receiver/locale/fr-doc.json
deleted file mode 100644
index e69e00e..0000000
--- a/utilities/doctype/sms_receiver/locale/fr-doc.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "Customer Name": "Nom du client",
- "Mobile No": "Aucun mobile",
- "Receiver Name": "Nom du destinataire",
- "SMS Receiver": "SMS Receiver",
- "Utilities": "Utilitaires"
-}
\ No newline at end of file
diff --git a/utilities/doctype/sms_receiver/locale/hi-doc.json b/utilities/doctype/sms_receiver/locale/hi-doc.json
deleted file mode 100644
index 8b957e8..0000000
--- a/utilities/doctype/sms_receiver/locale/hi-doc.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "Customer Name": "\u0917\u094d\u0930\u093e\u0939\u0915 \u0915\u093e \u0928\u093e\u092e",
- "Mobile No": "\u0928\u0939\u0940\u0902 \u092e\u094b\u092c\u093e\u0907\u0932",
- "Receiver Name": "\u0930\u093f\u0938\u0940\u0935\u0930 \u0928\u093e\u092e",
- "SMS Receiver": "\u090f\u0938\u090f\u092e\u090f\u0938 \u0930\u093f\u0938\u0940\u0935\u0930",
- "Utilities": "\u0909\u092a\u092f\u094b\u0917\u093f\u0924\u093e\u090f\u0901"
-}
\ No newline at end of file
diff --git a/utilities/doctype/sms_receiver/locale/hr-doc.json b/utilities/doctype/sms_receiver/locale/hr-doc.json
deleted file mode 100644
index 3f7377f..0000000
--- a/utilities/doctype/sms_receiver/locale/hr-doc.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "Customer Name": "Naziv klijenta",
- "Mobile No": "Mobitel Nema",
- "Receiver Name": "Primatelj Ime",
- "SMS Receiver": "SMS-prijemnik",
- "Utilities": "Komunalne usluge"
-}
\ No newline at end of file
diff --git a/utilities/doctype/sms_receiver/locale/nl-doc.json b/utilities/doctype/sms_receiver/locale/nl-doc.json
deleted file mode 100644
index e31d3bb..0000000
--- a/utilities/doctype/sms_receiver/locale/nl-doc.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "Customer Name": "Klantnaam",
- "Mobile No": "Mobiel Nog geen",
- "Receiver Name": "Ontvanger Naam",
- "SMS Receiver": "SMS-ontvanger",
- "Utilities": "Utilities"
-}
\ No newline at end of file
diff --git a/utilities/doctype/sms_receiver/locale/pt-BR-doc.json b/utilities/doctype/sms_receiver/locale/pt-BR-doc.json
deleted file mode 100644
index c4fb837..0000000
--- a/utilities/doctype/sms_receiver/locale/pt-BR-doc.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "Customer Name": "Nome do cliente",
- "Mobile No": "Telefone Celular",
- "Receiver Name": "Nome do recebedor",
- "SMS Receiver": "Receptor do SMS",
- "Utilities": "Utilit\u00e1rios"
-}
\ No newline at end of file
diff --git a/utilities/doctype/sms_receiver/locale/pt-doc.json b/utilities/doctype/sms_receiver/locale/pt-doc.json
deleted file mode 100644
index e321c25..0000000
--- a/utilities/doctype/sms_receiver/locale/pt-doc.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "Customer Name": "Nome do cliente",
- "Mobile No": "No m\u00f3vel",
- "Receiver Name": "Nome receptor",
- "SMS Receiver": "SMS Receptor",
- "Utilities": "Utilit\u00e1rios"
-}
\ No newline at end of file
diff --git a/utilities/doctype/sms_receiver/locale/sr-doc.json b/utilities/doctype/sms_receiver/locale/sr-doc.json
deleted file mode 100644
index 7c8988b..0000000
--- a/utilities/doctype/sms_receiver/locale/sr-doc.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "Customer Name": "\u0418\u043c\u0435 \u043a\u043b\u0438\u0458\u0435\u043d\u0442\u0430",
- "Mobile No": "\u041c\u043e\u0431\u0438\u043b\u043d\u0438 \u041d\u0435\u043c\u0430",
- "Receiver Name": "\u041f\u0440\u0438\u0458\u0435\u043c\u043d\u0438\u043a \u0418\u043c\u0435",
- "SMS Receiver": "\u0421\u041c\u0421 \u043f\u0440\u0438\u0458\u0435\u043c\u043d\u0438\u043a",
- "Utilities": "\u041a\u043e\u043c\u0443\u043d\u0430\u043b\u043d\u0435 \u0443\u0441\u043b\u0443\u0433\u0435"
-}
\ No newline at end of file
diff --git a/utilities/doctype/sms_receiver/locale/ta-doc.json b/utilities/doctype/sms_receiver/locale/ta-doc.json
deleted file mode 100644
index 10c5d6d..0000000
--- a/utilities/doctype/sms_receiver/locale/ta-doc.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "Customer Name": "\u0bb5\u0bbe\u0b9f\u0bbf\u0b95\u0bcd\u0b95\u0bc8\u0baf\u0bbe\u0bb3\u0bb0\u0bcd \u0baa\u0bc6\u0baf\u0bb0\u0bcd",
- "Mobile No": "\u0b87\u0bb2\u0bcd\u0bb2\u0bc8 \u0bae\u0bc6\u0bbe\u0baa\u0bc8\u0bb2\u0bcd",
- "Receiver Name": "\u0bb0\u0bbf\u0b9a\u0bc0\u0bb5\u0bb0\u0bcd \u0baa\u0bc6\u0baf\u0bb0\u0bcd",
- "SMS Receiver": "\u0b8e\u0bb8\u0bcd\u0b8e\u0bae\u0bcd\u0b8e\u0bb8\u0bcd \u0baa\u0bc6\u0bb1\u0bc1\u0ba8\u0bb0\u0bcd",
- "Utilities": "\u0baa\u0baf\u0ba9\u0bcd\u0baa\u0bbe\u0b9f\u0bc1\u0b95\u0bb3\u0bcd"
-}
\ No newline at end of file
diff --git a/utilities/doctype/sms_receiver/locale/th-doc.json b/utilities/doctype/sms_receiver/locale/th-doc.json
deleted file mode 100644
index e1e45a7..0000000
--- a/utilities/doctype/sms_receiver/locale/th-doc.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "Customer Name": "\u0e0a\u0e37\u0e48\u0e2d\u0e25\u0e39\u0e01\u0e04\u0e49\u0e32",
- "Mobile No": "\u0e21\u0e37\u0e2d\u0e16\u0e37\u0e2d\u0e44\u0e21\u0e48\u0e21\u0e35",
- "Receiver Name": "\u0e0a\u0e37\u0e48\u0e2d\u0e1c\u0e39\u0e49\u0e23\u0e31\u0e1a",
- "SMS Receiver": "\u0e23\u0e31\u0e1a SMS",
- "Utilities": "\u0e22\u0e39\u0e17\u0e34\u0e25\u0e34\u0e15\u0e35\u0e49"
-}
\ No newline at end of file
diff --git a/utilities/doctype/sms_receiver/sms_receiver.py b/utilities/doctype/sms_receiver/sms_receiver.py
deleted file mode 100644
index 7f48feb..0000000
--- a/utilities/doctype/sms_receiver/sms_receiver.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-from __future__ import unicode_literals
-import webnotes
-
-class DocType:
- def __init__(self, d, dl):
- self.doc, self.doclist = d, dl
\ No newline at end of file
diff --git a/utilities/doctype/sms_receiver/sms_receiver.txt b/utilities/doctype/sms_receiver/sms_receiver.txt
deleted file mode 100644
index 1075d21..0000000
--- a/utilities/doctype/sms_receiver/sms_receiver.txt
+++ /dev/null
@@ -1,52 +0,0 @@
-[
- {
- "creation": "2013-02-22 01:28:07",
- "docstatus": 0,
- "modified": "2013-03-07 07:03:32",
- "modified_by": "Administrator",
- "owner": "Administrator"
- },
- {
- "doctype": "DocType",
- "istable": 1,
- "module": "Utilities",
- "name": "__common__"
- },
- {
- "doctype": "DocField",
- "fieldtype": "Data",
- "name": "__common__",
- "oldfieldtype": "Data",
- "parent": "SMS Receiver",
- "parentfield": "fields",
- "parenttype": "DocType",
- "permlevel": 0
- },
- {
- "doctype": "DocType",
- "name": "SMS Receiver"
- },
- {
- "doctype": "DocField",
- "fieldname": "customer_name",
- "label": "Customer Name",
- "oldfieldname": "customer_name"
- },
- {
- "doctype": "DocField",
- "fieldname": "receiver_name",
- "label": "Receiver Name",
- "oldfieldname": "receiver_name",
- "print_width": "350px",
- "width": "350px"
- },
- {
- "doctype": "DocField",
- "fieldname": "mobile_no",
- "label": "Mobile No",
- "oldfieldname": "mobile_no",
- "print_width": "200px",
- "reqd": 1,
- "width": "200px"
- }
-]
\ No newline at end of file
diff --git a/utilities/doctype/trash_control/__init__.py b/utilities/doctype/trash_control/__init__.py
deleted file mode 100644
index baffc48..0000000
--- a/utilities/doctype/trash_control/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-from __future__ import unicode_literals
diff --git a/utilities/doctype/trash_control/locale/_messages_doc.json b/utilities/doctype/trash_control/locale/_messages_doc.json
deleted file mode 100644
index f424475..0000000
--- a/utilities/doctype/trash_control/locale/_messages_doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-[
- "Trash Control",
- "Utilities"
-]
\ No newline at end of file
diff --git a/utilities/doctype/trash_control/locale/ar-doc.json b/utilities/doctype/trash_control/locale/ar-doc.json
deleted file mode 100644
index 2ad9b62..0000000
--- a/utilities/doctype/trash_control/locale/ar-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Trash Control": "\u0627\u0644\u0642\u0645\u0627\u0645\u0629 \u0627\u0644\u062a\u062d\u0643\u0645",
- "Utilities": "\u062e\u062f\u0645\u0627\u062a"
-}
\ No newline at end of file
diff --git a/utilities/doctype/trash_control/locale/de-doc.json b/utilities/doctype/trash_control/locale/de-doc.json
deleted file mode 100644
index faa5da4..0000000
--- a/utilities/doctype/trash_control/locale/de-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Trash Control": "Trash Steuerung",
- "Utilities": "Dienstprogramme"
-}
\ No newline at end of file
diff --git a/utilities/doctype/trash_control/locale/es-doc.json b/utilities/doctype/trash_control/locale/es-doc.json
deleted file mode 100644
index a8952ad..0000000
--- a/utilities/doctype/trash_control/locale/es-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Trash Control": "Control de Basura",
- "Utilities": "Utilidades"
-}
\ No newline at end of file
diff --git a/utilities/doctype/trash_control/locale/fr-doc.json b/utilities/doctype/trash_control/locale/fr-doc.json
deleted file mode 100644
index 98943b7..0000000
--- a/utilities/doctype/trash_control/locale/fr-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Trash Control": "Contr\u00f4le Corbeille",
- "Utilities": "Utilitaires"
-}
\ No newline at end of file
diff --git a/utilities/doctype/trash_control/locale/hi-doc.json b/utilities/doctype/trash_control/locale/hi-doc.json
deleted file mode 100644
index 8b97895..0000000
--- a/utilities/doctype/trash_control/locale/hi-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Trash Control": "\u091f\u094d\u0930\u0948\u0936 \u0928\u093f\u092f\u0902\u0924\u094d\u0930\u0923",
- "Utilities": "\u0909\u092a\u092f\u094b\u0917\u093f\u0924\u093e\u090f\u0901"
-}
\ No newline at end of file
diff --git a/utilities/doctype/trash_control/locale/hr-doc.json b/utilities/doctype/trash_control/locale/hr-doc.json
deleted file mode 100644
index 1d1e9d6..0000000
--- a/utilities/doctype/trash_control/locale/hr-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Trash Control": "Sme\u0107e kontrola",
- "Utilities": "Komunalne usluge"
-}
\ No newline at end of file
diff --git a/utilities/doctype/trash_control/locale/nl-doc.json b/utilities/doctype/trash_control/locale/nl-doc.json
deleted file mode 100644
index 13f90ac..0000000
--- a/utilities/doctype/trash_control/locale/nl-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Trash Control": "Trash Controle",
- "Utilities": "Utilities"
-}
\ No newline at end of file
diff --git a/utilities/doctype/trash_control/locale/pt-BR-doc.json b/utilities/doctype/trash_control/locale/pt-BR-doc.json
deleted file mode 100644
index 2c4e803..0000000
--- a/utilities/doctype/trash_control/locale/pt-BR-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Trash Control": "Controle de lixo",
- "Utilities": "Utilit\u00e1rios"
-}
\ No newline at end of file
diff --git a/utilities/doctype/trash_control/locale/pt-doc.json b/utilities/doctype/trash_control/locale/pt-doc.json
deleted file mode 100644
index 2c4e803..0000000
--- a/utilities/doctype/trash_control/locale/pt-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Trash Control": "Controle de lixo",
- "Utilities": "Utilit\u00e1rios"
-}
\ No newline at end of file
diff --git a/utilities/doctype/trash_control/locale/sr-doc.json b/utilities/doctype/trash_control/locale/sr-doc.json
deleted file mode 100644
index 2fc085d..0000000
--- a/utilities/doctype/trash_control/locale/sr-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Trash Control": "\u0421\u043c\u0435\u045b\u0435 \u041a\u043e\u043d\u0442\u0440\u043e\u043b\u0430",
- "Utilities": "\u041a\u043e\u043c\u0443\u043d\u0430\u043b\u043d\u0435 \u0443\u0441\u043b\u0443\u0433\u0435"
-}
\ No newline at end of file
diff --git a/utilities/doctype/trash_control/locale/ta-doc.json b/utilities/doctype/trash_control/locale/ta-doc.json
deleted file mode 100644
index 4c7827b..0000000
--- a/utilities/doctype/trash_control/locale/ta-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Trash Control": "\u0b95\u0bc1\u0baa\u0bcd\u0baa\u0bc8 \u0b95\u0b9f\u0bcd\u0b9f\u0bc1\u0baa\u0bcd\u0baa\u0bbe\u0b9f\u0bc1",
- "Utilities": "\u0baa\u0baf\u0ba9\u0bcd\u0baa\u0bbe\u0b9f\u0bc1\u0b95\u0bb3\u0bcd"
-}
\ No newline at end of file
diff --git a/utilities/doctype/trash_control/locale/th-doc.json b/utilities/doctype/trash_control/locale/th-doc.json
deleted file mode 100644
index f62351c..0000000
--- a/utilities/doctype/trash_control/locale/th-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Trash Control": "\u0e04\u0e27\u0e1a\u0e04\u0e38\u0e21\u0e16\u0e31\u0e07\u0e02\u0e22\u0e30",
- "Utilities": "\u0e22\u0e39\u0e17\u0e34\u0e25\u0e34\u0e15\u0e35\u0e49"
-}
\ No newline at end of file
diff --git a/utilities/doctype/trash_control/trash_control.py b/utilities/doctype/trash_control/trash_control.py
deleted file mode 100644
index 341f837..0000000
--- a/utilities/doctype/trash_control/trash_control.py
+++ /dev/null
@@ -1,68 +0,0 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-from __future__ import unicode_literals
-import webnotes
-
-from webnotes.utils import now
-from webnotes.model import db_exists
-from webnotes.model.bean import copy_doclist
-from webnotes.model.code import get_obj
-
-sql = webnotes.conn.sql
-
-
-
-class DocType:
- def __init__(self, d, dl):
- self.doc, self.doclist = d, dl
-
-
- # Get Masters
- # -----------
- def get_masters(self):
- mlist = []
- res = sql("select distinct t1.name from tabDocType t1, tabDocPerm t2 where ifnull(t1.allow_trash, 0) = 1 and (ifnull(t2.write, 0) = 1 or ifnull(t2.create, 0) = 1) and t2.role in (%s) and t2.parent = t1.name and t1.module not in ('DocType','Application Internal','Recycle Bin','Development','Testing','Testing System','Test') ORDER BY t1.name" % ("'"+"', '".join(webnotes.user.get_roles())+"'"))
- for r in res:
- mlist.append(r[0])
- return mlist
-
-
- # Get Trash Records
- # -----------------
- def get_trash_records(self, mast_name):
- mlist = []
- rec_dict = {}
- if mast_name == 'All':
- mlist = self.get_masters()
- else:
- mlist.append(mast_name)
- for i in mlist:
- rec = [r[0] for r in sql("select name from `tab%s` where docstatus = 2" % i)]
- if rec:
- rec_dict[i] = rec
- return rec_dict
-
-
- # Restore Records
- # ---------------
- def restore_records(self, arg):
- arg = eval(arg)
- for k in arg:
- for r in arg[k]:
- sql("update `tab%s` set docstatus = 0, modified = '%s', trash_reason = '' where name = '%s'" % (k, now(), r))
- dt_obj = get_obj(k,r)
- if hasattr(dt_obj, 'on_restore'): dt_obj.on_restore()
diff --git a/utilities/doctype/trash_control/trash_control.txt b/utilities/doctype/trash_control/trash_control.txt
deleted file mode 100644
index 412e38d..0000000
--- a/utilities/doctype/trash_control/trash_control.txt
+++ /dev/null
@@ -1,23 +0,0 @@
-[
- {
- "creation": "2012-03-27 14:36:47",
- "docstatus": 0,
- "modified": "2012-03-27 14:36:47",
- "modified_by": "Administrator",
- "owner": "Administrator"
- },
- {
- "doctype": "DocType",
- "in_create": 1,
- "issingle": 1,
- "module": "Utilities",
- "name": "__common__",
- "read_only": 1,
- "section_style": "Simple",
- "version": 35
- },
- {
- "doctype": "DocType",
- "name": "Trash Control"
- }
-]
\ No newline at end of file
diff --git a/utilities/page/markdown_reference/README.md b/utilities/page/markdown_reference/README.md
new file mode 100644
index 0000000..80f16cb
--- /dev/null
+++ b/utilities/page/markdown_reference/README.md
@@ -0,0 +1 @@
+Markdown reference.
\ No newline at end of file
diff --git a/website/README.md b/website/README.md
new file mode 100644
index 0000000..8ad3903
--- /dev/null
+++ b/website/README.md
@@ -0,0 +1,8 @@
+Module for website management.
+
+Contains:
+
+- DocTypes for Web Page, Blogs
+- Templates
+- Settings
+- Generators for Item, Blog Post, Item Group
\ No newline at end of file
diff --git a/website/doctype/about_us_settings/README.md b/website/doctype/about_us_settings/README.md
new file mode 100644
index 0000000..977a7a3
--- /dev/null
+++ b/website/doctype/about_us_settings/README.md
@@ -0,0 +1 @@
+Configuration for "About" page in the website that shows company, history and team.
\ No newline at end of file
diff --git a/website/doctype/about_us_team_member/README.md b/website/doctype/about_us_team_member/README.md
new file mode 100644
index 0000000..98b794f
--- /dev/null
+++ b/website/doctype/about_us_team_member/README.md
@@ -0,0 +1 @@
+Details of team member for About Us page.
\ No newline at end of file
diff --git a/website/doctype/blog_category/README.md b/website/doctype/blog_category/README.md
new file mode 100644
index 0000000..af14b5d
--- /dev/null
+++ b/website/doctype/blog_category/README.md
@@ -0,0 +1 @@
+Blog category.
\ No newline at end of file
diff --git a/website/doctype/blog_post/README.md b/website/doctype/blog_post/README.md
new file mode 100644
index 0000000..63d3c0f
--- /dev/null
+++ b/website/doctype/blog_post/README.md
@@ -0,0 +1 @@
+Blog post for "Blogs" section of website.
\ No newline at end of file
diff --git a/website/doctype/blog_post/blog_post.py b/website/doctype/blog_post/blog_post.py
index 62cc910..f6dfc60 100644
--- a/website/doctype/blog_post/blog_post.py
+++ b/website/doctype/blog_post/blog_post.py
@@ -41,29 +41,6 @@
webnotes.webutils.update_page_name(self.doc, self.doc.title)
webnotes.webutils.delete_page_cache("writers")
- def send_emails(self):
- """send emails to subscribers"""
- if self.doc.email_sent:
- webnotes.msgprint("""Blog Subscribers already updated""", raise_exception=1)
-
- from webnotes.utils.email_lib.bulk import send
- import webnotes.utils
-
- # get leads that are subscribed to the blog
- recipients = [e[0] for e in webnotes.conn.sql("""select distinct email_id from
- tabLead where ifnull(blog_subscriber,0)=1""")]
-
- # make heading as link
- content = '<h2><a href="%s/%s.html">%s</a></h2>\n\n%s' % (webnotes.utils.get_request_site_address(),
- self.doc.page_name, self.doc.title, self.doc.content)
-
- # send the blog
- send(recipients = recipients, doctype='Lead', email_field='email_id',
- subject=self.doc.title, message = content)
-
- webnotes.conn.set(self.doc, 'email_sent', 1)
- webnotes.msgprint("""Scheduled to send to %s subscribers""" % len(recipients))
-
def prepare_template_args(self):
import webnotes.utils
diff --git a/website/doctype/blog_settings/README.md b/website/doctype/blog_settings/README.md
new file mode 100644
index 0000000..0a76d4e
--- /dev/null
+++ b/website/doctype/blog_settings/README.md
@@ -0,0 +1 @@
+Blog titles and introduction texts.
\ No newline at end of file
diff --git a/website/doctype/blog_subscriber/locale/_messages_doc.json b/website/doctype/blog_subscriber/locale/_messages_doc.json
deleted file mode 100644
index 07cbecc..0000000
--- a/website/doctype/blog_subscriber/locale/_messages_doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-[
- "Website",
- "Blog Subscriber"
-]
\ No newline at end of file
diff --git a/website/doctype/blog_subscriber/locale/ar-doc.json b/website/doctype/blog_subscriber/locale/ar-doc.json
deleted file mode 100644
index 162d1d4..0000000
--- a/website/doctype/blog_subscriber/locale/ar-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Blog Subscriber": "\u0628\u0644\u0648\u0642 \u0627\u0644\u0645\u0634\u062a\u0631\u0643",
- "Website": "\u0627\u0644\u0645\u0648\u0642\u0639"
-}
\ No newline at end of file
diff --git a/website/doctype/blog_subscriber/locale/de-doc.json b/website/doctype/blog_subscriber/locale/de-doc.json
deleted file mode 100644
index 2bb8ef1..0000000
--- a/website/doctype/blog_subscriber/locale/de-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Blog Subscriber": "Blog Subscriber",
- "Website": "Webseite"
-}
\ No newline at end of file
diff --git a/website/doctype/blog_subscriber/locale/es-doc.json b/website/doctype/blog_subscriber/locale/es-doc.json
deleted file mode 100644
index 3888bac..0000000
--- a/website/doctype/blog_subscriber/locale/es-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Blog Subscriber": "Blog suscriptor",
- "Website": "Sitio web"
-}
\ No newline at end of file
diff --git a/website/doctype/blog_subscriber/locale/fr-doc.json b/website/doctype/blog_subscriber/locale/fr-doc.json
deleted file mode 100644
index ef572ef..0000000
--- a/website/doctype/blog_subscriber/locale/fr-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Blog Subscriber": "Abonn\u00e9 Blog",
- "Website": "Site Web"
-}
\ No newline at end of file
diff --git a/website/doctype/blog_subscriber/locale/hi-doc.json b/website/doctype/blog_subscriber/locale/hi-doc.json
deleted file mode 100644
index 5ad6049..0000000
--- a/website/doctype/blog_subscriber/locale/hi-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Blog Subscriber": "\u092c\u094d\u0932\u0949\u0917 \u0938\u092c\u094d\u0938\u0915\u094d\u0930\u093e\u0907\u092c\u0930",
- "Website": "\u0935\u0947\u092c\u0938\u093e\u0907\u091f"
-}
\ No newline at end of file
diff --git a/website/doctype/blog_subscriber/locale/hr-doc.json b/website/doctype/blog_subscriber/locale/hr-doc.json
deleted file mode 100644
index da24032..0000000
--- a/website/doctype/blog_subscriber/locale/hr-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Blog Subscriber": "Blog Pretplatnik",
- "Website": "Website"
-}
\ No newline at end of file
diff --git a/website/doctype/blog_subscriber/locale/nl-doc.json b/website/doctype/blog_subscriber/locale/nl-doc.json
deleted file mode 100644
index dd4063b..0000000
--- a/website/doctype/blog_subscriber/locale/nl-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Blog Subscriber": "Blog Abonnee",
- "Website": "Website"
-}
\ No newline at end of file
diff --git a/website/doctype/blog_subscriber/locale/pt-BR-doc.json b/website/doctype/blog_subscriber/locale/pt-BR-doc.json
deleted file mode 100644
index d070aa3..0000000
--- a/website/doctype/blog_subscriber/locale/pt-BR-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Blog Subscriber": "Assinante do Blog",
- "Website": "Site"
-}
\ No newline at end of file
diff --git a/website/doctype/blog_subscriber/locale/pt-doc.json b/website/doctype/blog_subscriber/locale/pt-doc.json
deleted file mode 100644
index 329a2a8..0000000
--- a/website/doctype/blog_subscriber/locale/pt-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Blog Subscriber": "Assinante Blog",
- "Website": "Site"
-}
\ No newline at end of file
diff --git a/website/doctype/blog_subscriber/locale/sr-doc.json b/website/doctype/blog_subscriber/locale/sr-doc.json
deleted file mode 100644
index b239ba9..0000000
--- a/website/doctype/blog_subscriber/locale/sr-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Blog Subscriber": "\u0411\u043b\u043e\u0433 \u041f\u0440\u0435\u0442\u043f\u043b\u0430\u0442\u043d\u0438\u043a",
- "Website": "\u0412\u0435\u0431\u0441\u0430\u0458\u0442"
-}
\ No newline at end of file
diff --git a/website/doctype/blog_subscriber/locale/ta-doc.json b/website/doctype/blog_subscriber/locale/ta-doc.json
deleted file mode 100644
index 95e4cd3..0000000
--- a/website/doctype/blog_subscriber/locale/ta-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Blog Subscriber": "\u0bb5\u0bb2\u0bc8\u0baa\u0bcd\u0baa\u0ba4\u0bbf\u0bb5\u0bc1 \u0b9a\u0ba8\u0bcd\u0ba4\u0bbe\u0ba4\u0bbe\u0bb0\u0bb0\u0bcd",
- "Website": "\u0b87\u0ba3\u0bc8\u0baf\u0ba4\u0bb3\u0bae\u0bcd"
-}
\ No newline at end of file
diff --git a/website/doctype/blog_subscriber/locale/th-doc.json b/website/doctype/blog_subscriber/locale/th-doc.json
deleted file mode 100644
index d02ae44..0000000
--- a/website/doctype/blog_subscriber/locale/th-doc.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "Blog Subscriber": "\u0e2a\u0e21\u0e32\u0e0a\u0e34\u0e01\u0e1a\u0e25\u0e47\u0e2d\u0e01",
- "Website": "\u0e40\u0e27\u0e47\u0e1a\u0e44\u0e0b\u0e15\u0e4c"
-}
\ No newline at end of file
diff --git a/website/doctype/blogger/README.md b/website/doctype/blogger/README.md
new file mode 100644
index 0000000..13ddecd
--- /dev/null
+++ b/website/doctype/blogger/README.md
@@ -0,0 +1 @@
+Profile of blog writer in "Blog" section.
\ No newline at end of file
diff --git a/website/doctype/company_history/README.md b/website/doctype/company_history/README.md
new file mode 100644
index 0000000..482c8d3
--- /dev/null
+++ b/website/doctype/company_history/README.md
@@ -0,0 +1 @@
+Company history detail for "About Us" section.
\ No newline at end of file
diff --git a/website/doctype/contact_us_settings/README.md b/website/doctype/contact_us_settings/README.md
new file mode 100644
index 0000000..61f589f
--- /dev/null
+++ b/website/doctype/contact_us_settings/README.md
@@ -0,0 +1 @@
+Settings, introduction for "Contact Us" section.
\ No newline at end of file
diff --git a/website/doctype/cross_list_item_group/locale/_messages_doc.json b/website/doctype/cross_list_item_group/locale/_messages_doc.json
deleted file mode 100644
index 19bedb1..0000000
--- a/website/doctype/cross_list_item_group/locale/_messages_doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-[
- "Website",
- "Cross List Item Group",
- "Cross Listing of Item in multiple groups",
- "Item Group"
-]
\ No newline at end of file
diff --git a/website/doctype/cross_list_item_group/locale/ar-doc.json b/website/doctype/cross_list_item_group/locale/ar-doc.json
deleted file mode 100644
index 9788ffc..0000000
--- a/website/doctype/cross_list_item_group/locale/ar-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Cross List Item Group": "\u0639\u0628\u0648\u0631 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0641\u0631\u064a\u0642 \u0627\u0644\u0625\u063a\u0644\u0627\u0642",
- "Cross Listing of Item in multiple groups": "\u0639\u0628\u0648\u0631 \u0625\u062f\u0631\u0627\u062c \u0639\u0646\u0635\u0631 \u0641\u064a \u0645\u062c\u0645\u0648\u0639\u0627\u062a \u0645\u062a\u0639\u062f\u062f\u0629",
- "Item Group": "\u0627\u0644\u0628\u0646\u062f \u0627\u0644\u0645\u062c\u0645\u0648\u0639\u0629",
- "Website": "\u0627\u0644\u0645\u0648\u0642\u0639"
-}
\ No newline at end of file
diff --git a/website/doctype/cross_list_item_group/locale/de-doc.json b/website/doctype/cross_list_item_group/locale/de-doc.json
deleted file mode 100644
index 4a5a2dc..0000000
--- a/website/doctype/cross_list_item_group/locale/de-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Cross List Item Group": "\u00dcberqueren List Item-Gruppe",
- "Cross Listing of Item in multiple groups": "\u00dcberqueren Auflistung der Artikel in mehreren Gruppen",
- "Item Group": "Artikel-Gruppe",
- "Website": "Webseite"
-}
\ No newline at end of file
diff --git a/website/doctype/cross_list_item_group/locale/es-doc.json b/website/doctype/cross_list_item_group/locale/es-doc.json
deleted file mode 100644
index 9e8e0f6..0000000
--- a/website/doctype/cross_list_item_group/locale/es-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Cross List Item Group": "Grupo de la Cruz lista de elementos",
- "Cross Listing of Item in multiple groups": "Cruce Listado de art\u00edculos en varios grupos",
- "Item Group": "Grupo de art\u00edculos",
- "Website": "Sitio web"
-}
\ No newline at end of file
diff --git a/website/doctype/cross_list_item_group/locale/fr-doc.json b/website/doctype/cross_list_item_group/locale/fr-doc.json
deleted file mode 100644
index 57dd327..0000000
--- a/website/doctype/cross_list_item_group/locale/fr-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Cross List Item Group": "Traversez Groupe \u00e9l\u00e9ment de liste",
- "Cross Listing of Item in multiple groups": "Cross Listing des articles dans plusieurs groupes",
- "Item Group": "Groupe d'\u00e9l\u00e9ments",
- "Website": "Site Web"
-}
\ No newline at end of file
diff --git a/website/doctype/cross_list_item_group/locale/hi-doc.json b/website/doctype/cross_list_item_group/locale/hi-doc.json
deleted file mode 100644
index f2fb530..0000000
--- a/website/doctype/cross_list_item_group/locale/hi-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Cross List Item Group": "\u0915\u094d\u0930\u0949\u0938 \u0938\u0942\u091a\u0940 \u0906\u0907\u091f\u092e \u0938\u092e\u0942\u0939",
- "Cross Listing of Item in multiple groups": "\u0915\u0908 \u0938\u092e\u0942\u0939\u094b\u0902 \u092e\u0947\u0902 \u0906\u0907\u091f\u092e \u0932\u093f\u0938\u094d\u091f\u093f\u0902\u0917 \u092a\u093e\u0930",
- "Item Group": "\u0906\u0907\u091f\u092e \u0938\u092e\u0942\u0939",
- "Website": "\u0935\u0947\u092c\u0938\u093e\u0907\u091f"
-}
\ No newline at end of file
diff --git a/website/doctype/cross_list_item_group/locale/hr-doc.json b/website/doctype/cross_list_item_group/locale/hr-doc.json
deleted file mode 100644
index cf8ab2a..0000000
--- a/website/doctype/cross_list_item_group/locale/hr-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Cross List Item Group": "Kri\u017e Group stavku popisa",
- "Cross Listing of Item in multiple groups": "Kri\u017e Oglas stavke u vi\u0161e grupa",
- "Item Group": "Stavka Grupa",
- "Website": "Website"
-}
\ No newline at end of file
diff --git a/website/doctype/cross_list_item_group/locale/nl-doc.json b/website/doctype/cross_list_item_group/locale/nl-doc.json
deleted file mode 100644
index 06aba4c..0000000
--- a/website/doctype/cross_list_item_group/locale/nl-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Cross List Item Group": "Cross List Item Group",
- "Cross Listing of Item in multiple groups": "Kruis een overzicht van onze item in meerdere groepen",
- "Item Group": "Item Group",
- "Website": "Website"
-}
\ No newline at end of file
diff --git a/website/doctype/cross_list_item_group/locale/pt-BR-doc.json b/website/doctype/cross_list_item_group/locale/pt-BR-doc.json
deleted file mode 100644
index cac3f17..0000000
--- a/website/doctype/cross_list_item_group/locale/pt-BR-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Cross List Item Group": "Grupo de Itens da Lista Cruzada",
- "Cross Listing of Item in multiple groups": "Listagem Cruzada dos itens em m\u00faltiplos grupos",
- "Item Group": "Grupo de Itens",
- "Website": "Site"
-}
\ No newline at end of file
diff --git a/website/doctype/cross_list_item_group/locale/pt-doc.json b/website/doctype/cross_list_item_group/locale/pt-doc.json
deleted file mode 100644
index e9acb85..0000000
--- a/website/doctype/cross_list_item_group/locale/pt-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Cross List Item Group": "Atravesse Grupo item da lista",
- "Cross Listing of Item in multiple groups": "Atravesse de Listagem do item em v\u00e1rios grupos",
- "Item Group": "Grupo Item",
- "Website": "Site"
-}
\ No newline at end of file
diff --git a/website/doctype/cross_list_item_group/locale/sr-doc.json b/website/doctype/cross_list_item_group/locale/sr-doc.json
deleted file mode 100644
index 5377600..0000000
--- a/website/doctype/cross_list_item_group/locale/sr-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Cross List Item Group": "\u041a\u0440\u0441\u0442 \u0413\u0440\u043e\u0443\u043f \u041b\u0438\u0441\u0442 \u0418\u0442\u0435\u043c",
- "Cross Listing of Item in multiple groups": "\u041a\u0440\u0441\u0442 \u041b\u0438\u0441\u0442\u0438\u043d\u0433 \u043f\u0440\u0435\u0434\u043c\u0435\u0442\u0430 \u043d\u0430 \u0432\u0438\u0448\u0435 \u0433\u0440\u0443\u043f\u0430",
- "Item Group": "\u0421\u0442\u0430\u0432\u043a\u0430 \u0413\u0440\u0443\u043f\u0430",
- "Website": "\u0412\u0435\u0431\u0441\u0430\u0458\u0442"
-}
\ No newline at end of file
diff --git a/website/doctype/cross_list_item_group/locale/ta-doc.json b/website/doctype/cross_list_item_group/locale/ta-doc.json
deleted file mode 100644
index 80a5a17..0000000
--- a/website/doctype/cross_list_item_group/locale/ta-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Cross List Item Group": "\u0baa\u0b9f\u0bcd\u0b9f\u0bbf\u0baf\u0bb2\u0bcd \u0b89\u0bb0\u0bc1\u0baa\u0bcd\u0baa\u0b9f\u0bbf \u0b95\u0bc1\u0bb4\u0bc1 \u0b95\u0b9f\u0b95\u0bcd\u0b95",
- "Cross Listing of Item in multiple groups": "\u0baa\u0bb2 \u0b95\u0bc1\u0bb4\u0bc1\u0b95\u0bcd\u0b95\u0bb3\u0bbe\u0b95 \u0b89\u0bb0\u0bc1\u0baa\u0bcd\u0baa\u0b9f\u0bbf \u0baa\u0b9f\u0bcd\u0b9f\u0bbf\u0baf\u0bb2\u0bcd \u0b95\u0b9f\u0b95\u0bcd\u0b95",
- "Item Group": "\u0b89\u0bb0\u0bc1\u0baa\u0bcd\u0baa\u0b9f\u0bbf\u0baf\u0bc8 \u0b95\u0bc1\u0bb4\u0bc1",
- "Website": "\u0b87\u0ba3\u0bc8\u0baf\u0ba4\u0bb3\u0bae\u0bcd"
-}
\ No newline at end of file
diff --git a/website/doctype/cross_list_item_group/locale/th-doc.json b/website/doctype/cross_list_item_group/locale/th-doc.json
deleted file mode 100644
index a47fdfe..0000000
--- a/website/doctype/cross_list_item_group/locale/th-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Cross List Item Group": "\u0e02\u0e49\u0e32\u0e21\u0e01\u0e25\u0e38\u0e48\u0e21\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23",
- "Cross Listing of Item in multiple groups": "\u0e02\u0e49\u0e32\u0e21\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23\u0e02\u0e2d\u0e07\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23\u0e43\u0e19\u0e2b\u0e25\u0e32\u0e22\u0e01\u0e25\u0e38\u0e48\u0e21",
- "Item Group": "\u0e01\u0e25\u0e38\u0e48\u0e21\u0e2a\u0e34\u0e19\u0e04\u0e49\u0e32",
- "Website": "\u0e40\u0e27\u0e47\u0e1a\u0e44\u0e0b\u0e15\u0e4c"
-}
\ No newline at end of file
diff --git a/website/doctype/product_group/locale/_messages_doc.json b/website/doctype/product_group/locale/_messages_doc.json
deleted file mode 100644
index efd61d9..0000000
--- a/website/doctype/product_group/locale/_messages_doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-[
- "Website",
- "Label",
- "Item Group",
- "Product Group"
-]
\ No newline at end of file
diff --git a/website/doctype/product_group/locale/ar-doc.json b/website/doctype/product_group/locale/ar-doc.json
deleted file mode 100644
index 0325b0d..0000000
--- a/website/doctype/product_group/locale/ar-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Item Group": "\u0627\u0644\u0628\u0646\u062f \u0627\u0644\u0645\u062c\u0645\u0648\u0639\u0629",
- "Label": "\u0645\u0644\u0635\u0642",
- "Product Group": "\u0645\u062c\u0645\u0648\u0639\u0629 \u0627\u0644\u0645\u0646\u062a\u062c\u0627\u062a",
- "Website": "\u0627\u0644\u0645\u0648\u0642\u0639"
-}
\ No newline at end of file
diff --git a/website/doctype/product_group/locale/de-doc.json b/website/doctype/product_group/locale/de-doc.json
deleted file mode 100644
index 84e4cdb..0000000
--- a/website/doctype/product_group/locale/de-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Item Group": "Artikel-Gruppe",
- "Label": "Etikett",
- "Product Group": "Product Group",
- "Website": "Webseite"
-}
\ No newline at end of file
diff --git a/website/doctype/product_group/locale/es-doc.json b/website/doctype/product_group/locale/es-doc.json
deleted file mode 100644
index 71aee3e..0000000
--- a/website/doctype/product_group/locale/es-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Item Group": "Grupo de art\u00edculos",
- "Label": "Etiqueta",
- "Product Group": "Grupo de productos",
- "Website": "Sitio web"
-}
\ No newline at end of file
diff --git a/website/doctype/product_group/locale/fr-doc.json b/website/doctype/product_group/locale/fr-doc.json
deleted file mode 100644
index 99ca143..0000000
--- a/website/doctype/product_group/locale/fr-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Item Group": "Groupe d'\u00e9l\u00e9ments",
- "Label": "\u00c9tiquette",
- "Product Group": "Groupe de produits",
- "Website": "Site Web"
-}
\ No newline at end of file
diff --git a/website/doctype/product_group/locale/hi-doc.json b/website/doctype/product_group/locale/hi-doc.json
deleted file mode 100644
index 2e7d158..0000000
--- a/website/doctype/product_group/locale/hi-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Item Group": "\u0906\u0907\u091f\u092e \u0938\u092e\u0942\u0939",
- "Label": "\u0932\u0947\u092c\u0932",
- "Product Group": "\u0909\u0924\u094d\u092a\u093e\u0926 \u0938\u092e\u0942\u0939",
- "Website": "\u0935\u0947\u092c\u0938\u093e\u0907\u091f"
-}
\ No newline at end of file
diff --git a/website/doctype/product_group/locale/hr-doc.json b/website/doctype/product_group/locale/hr-doc.json
deleted file mode 100644
index cf32df3..0000000
--- a/website/doctype/product_group/locale/hr-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Item Group": "Stavka Grupa",
- "Label": "Oznaka",
- "Product Group": "Product Group",
- "Website": "Website"
-}
\ No newline at end of file
diff --git a/website/doctype/product_group/locale/nl-doc.json b/website/doctype/product_group/locale/nl-doc.json
deleted file mode 100644
index 5b9c01c..0000000
--- a/website/doctype/product_group/locale/nl-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Item Group": "Item Group",
- "Label": "Label",
- "Product Group": "Productgroep",
- "Website": "Website"
-}
\ No newline at end of file
diff --git a/website/doctype/product_group/locale/pt-BR-doc.json b/website/doctype/product_group/locale/pt-BR-doc.json
deleted file mode 100644
index 03047ce..0000000
--- a/website/doctype/product_group/locale/pt-BR-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Item Group": "Grupo de Itens",
- "Label": "Etiqueta",
- "Product Group": "Grupo de Produtos",
- "Website": "Site"
-}
\ No newline at end of file
diff --git a/website/doctype/product_group/locale/pt-doc.json b/website/doctype/product_group/locale/pt-doc.json
deleted file mode 100644
index 16058cb..0000000
--- a/website/doctype/product_group/locale/pt-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Item Group": "Grupo Item",
- "Label": "Etiqueta",
- "Product Group": "Grupo de Produtos",
- "Website": "Site"
-}
\ No newline at end of file
diff --git a/website/doctype/product_group/locale/sr-doc.json b/website/doctype/product_group/locale/sr-doc.json
deleted file mode 100644
index 401084d..0000000
--- a/website/doctype/product_group/locale/sr-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Item Group": "\u0421\u0442\u0430\u0432\u043a\u0430 \u0413\u0440\u0443\u043f\u0430",
- "Label": "\u041d\u0430\u043b\u0435\u043f\u043d\u0438\u0446\u0430",
- "Product Group": "\u0413\u0440\u0443\u043f\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0430",
- "Website": "\u0412\u0435\u0431\u0441\u0430\u0458\u0442"
-}
\ No newline at end of file
diff --git a/website/doctype/product_group/locale/ta-doc.json b/website/doctype/product_group/locale/ta-doc.json
deleted file mode 100644
index d124409..0000000
--- a/website/doctype/product_group/locale/ta-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Item Group": "\u0b89\u0bb0\u0bc1\u0baa\u0bcd\u0baa\u0b9f\u0bbf\u0baf\u0bc8 \u0b95\u0bc1\u0bb4\u0bc1",
- "Label": "\u0b9a\u0bbf\u0b9f\u0bcd\u0b9f\u0bc8",
- "Product Group": "\u0ba4\u0baf\u0bbe\u0bb0\u0bbf\u0baa\u0bcd\u0baa\u0bc1 \u0b95\u0bc1\u0bb4\u0bc1",
- "Website": "\u0b87\u0ba3\u0bc8\u0baf\u0ba4\u0bb3\u0bae\u0bcd"
-}
\ No newline at end of file
diff --git a/website/doctype/product_group/locale/th-doc.json b/website/doctype/product_group/locale/th-doc.json
deleted file mode 100644
index 06f7fd0..0000000
--- a/website/doctype/product_group/locale/th-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Item Group": "\u0e01\u0e25\u0e38\u0e48\u0e21\u0e2a\u0e34\u0e19\u0e04\u0e49\u0e32",
- "Label": "\u0e09\u0e25\u0e32\u0e01",
- "Product Group": "\u0e01\u0e25\u0e38\u0e48\u0e21\u0e2a\u0e34\u0e19\u0e04\u0e49\u0e32",
- "Website": "\u0e40\u0e27\u0e47\u0e1a\u0e44\u0e0b\u0e15\u0e4c"
-}
\ No newline at end of file
diff --git a/website/doctype/product_settings/__init__.py b/website/doctype/product_settings/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/website/doctype/product_settings/__init__.py
+++ /dev/null
diff --git a/website/doctype/product_settings/locale/_messages_doc.json b/website/doctype/product_settings/locale/_messages_doc.json
deleted file mode 100644
index 7104193..0000000
--- a/website/doctype/product_settings/locale/_messages_doc.json
+++ /dev/null
@@ -1,13 +0,0 @@
-[
- "Website",
- "Settings for Product Catalog on the website",
- "Help",
- "Search Help",
- "List of Item Groups to be shown in \"All Products\" menu - in the sequence wanted and with number of indents (left spacing to show a tree effect).",
- "Product Settings",
- "Default: \"Product Search\"",
- "Default Product Category",
- "This Item Group represents \"products.html\"",
- "Website Product Categories",
- "Product Categories"
-]
\ No newline at end of file
diff --git a/website/doctype/product_settings/locale/ar-doc.json b/website/doctype/product_settings/locale/ar-doc.json
deleted file mode 100644
index 6caed50..0000000
--- a/website/doctype/product_settings/locale/ar-doc.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "Default Product Category": "\u0641\u0626\u0629 \u0627\u0644\u0645\u0646\u062a\u062c \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a",
- "Default: \"Product Search\"": "\u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a: "\u0627\u0644\u0628\u062d\u062b \u0639\u0646 \u0645\u0646\u062a\u062c"",
- "Help": "\u0645\u0633\u0627\u0639\u062f\u0629",
- "List of Item Groups to be shown in \"All Products\" menu - in the sequence wanted and with number of indents (left spacing to show a tree effect).": "\u0623\u0631\u0627\u062f \u0641\u064a \u062a\u0633\u0644\u0633\u0644 \u0648\u0645\u0639 \u0639\u062f\u062f \u0645\u0646 \u0627\u0644\u0645\u0633\u0627\u0641\u0627\u062a \u0627\u0644\u0628\u0627\u062f\u0626\u0629 (\u062a\u0628\u0627\u0639\u062f \u0627\u0644\u064a\u0633\u0627\u0631 \u0644\u0625\u0638\u0647\u0627\u0631 \u062a\u0623\u062b\u064a\u0631 \u0634\u062c\u0631\u0629) - \u0642\u0627\u0626\u0645\u0629 \u0645\u062c\u0645\u0648\u0639\u0627\u062a \u0627\u0644\u0625\u063a\u0644\u0627\u0642 \u0644\u0639\u0631\u0636\u0647\u0627 \u0641\u064a "\u0643\u0627\u0641\u0629 \u0627\u0644\u0645\u0646\u062a\u062c\u0627\u062a" \u0627\u0644\u0642\u0627\u0626\u0645\u0629.",
- "Product Categories": "\u0641\u0626\u0627\u062a \u0627\u0644\u0645\u0646\u062a\u062c\u0627\u062a",
- "Product Settings": "\u0627\u0644\u0645\u0646\u062a\u062c \u0625\u0639\u062f\u0627\u062f\u0627\u062a",
- "Search Help": "\u062a\u0639\u0644\u064a\u0645\u0627\u062a \u0628\u062d\u062b",
- "Settings for Product Catalog on the website": "\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u062f\u0644\u064a\u0644 \u0627\u0644\u0645\u0646\u062a\u062c \u0639\u0644\u0649 \u0627\u0644\u0645\u0648\u0642\u0639",
- "This Item Group represents \"products.html\"": "\u0647\u0630\u0627 \u0627\u0644\u0641\u0631\u064a\u0642 \u064a\u0645\u062b\u0644 \u0627\u0644\u0645\u062f\u064a\u0646\u0629 "products.html"",
- "Website": "\u0627\u0644\u0645\u0648\u0642\u0639",
- "Website Product Categories": "\u0641\u0626\u0627\u062a \u0627\u0644\u0645\u0646\u062a\u062c\u0627\u062a \u0627\u0644\u0645\u0648\u0642\u0639"
-}
\ No newline at end of file
diff --git a/website/doctype/product_settings/locale/de-doc.json b/website/doctype/product_settings/locale/de-doc.json
deleted file mode 100644
index 7b56c28..0000000
--- a/website/doctype/product_settings/locale/de-doc.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "Default Product Category": "Standard Produktkategorie",
- "Default: \"Product Search\"": "Default: \"Product Search\"",
- "Help": "Hilfe",
- "List of Item Groups to be shown in \"All Products\" menu - in the sequence wanted and with number of indents (left spacing to show a tree effect).": "Liste der Artikel Groups in \"Alle Produkte\"-Men\u00fc angezeigt werden - und wollte in der Folge mit der Anzahl der Einz\u00fcge (links, um den Baum Abstand Wirkung zu zeigen).",
- "Product Categories": "Produktkategorien",
- "Product Settings": "Produkt-Settings",
- "Search Help": "Suchen Hilfe",
- "Settings for Product Catalog on the website": "Einstellungen f\u00fcr Produkt-Katalog auf der Website",
- "This Item Group represents \"products.html\"": "Dieser Artikel Gruppe stellt \"products.html\"",
- "Website": "Webseite",
- "Website Product Categories": "Website Produktkategorien"
-}
\ No newline at end of file
diff --git a/website/doctype/product_settings/locale/es-doc.json b/website/doctype/product_settings/locale/es-doc.json
deleted file mode 100644
index 4b4752b..0000000
--- a/website/doctype/product_settings/locale/es-doc.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "Default Product Category": "Predeterminado Categor\u00eda de producto",
- "Default: \"Product Search\"": "Default: "B\u00fasqueda de Productos"",
- "Help": "Ayudar",
- "List of Item Groups to be shown in \"All Products\" menu - in the sequence wanted and with number of indents (left spacing to show a tree effect).": "Lista de los grupos de art\u00edculos que se muestran en "Todos los productos" men\u00fa - en el orden deseado y con el n\u00famero de guiones (espaciado izquierda para mostrar un efecto de \u00e1rbol).",
- "Product Categories": "Categor\u00edas de Productos",
- "Product Settings": "Configuraci\u00f3n del producto",
- "Search Help": "B\u00fasqueda Ayuda",
- "Settings for Product Catalog on the website": "Ajustes de cat\u00e1logo de productos en el sitio web",
- "This Item Group represents \"products.html\"": "Este grupo de elementos representa "products.html"",
- "Website": "Sitio web",
- "Website Product Categories": "Categor\u00edas sitio web del producto"
-}
\ No newline at end of file
diff --git a/website/doctype/product_settings/locale/fr-doc.json b/website/doctype/product_settings/locale/fr-doc.json
deleted file mode 100644
index f8b6820..0000000
--- a/website/doctype/product_settings/locale/fr-doc.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "Default Product Category": "Cat\u00e9gorie de produit par d\u00e9faut",
- "Default: \"Product Search\"": "Par d\u00e9faut: "Product Search"",
- "Help": "Aider",
- "List of Item Groups to be shown in \"All Products\" menu - in the sequence wanted and with number of indents (left spacing to show a tree effect).": "Liste des Groupes d'articles \u00e0 afficher dans "Tous les produits" menu - dans l'ordre voulu et avec le nombre de tirets (espacement \u00e0 gauche pour montrer un effet d'arbres).",
- "Product Categories": "Cat\u00e9gories de produits",
- "Product Settings": "Param\u00e8tres du produit",
- "Search Help": "Aide pour la recherche",
- "Settings for Product Catalog on the website": "Param\u00e8tres de catalogue de produits sur le site",
- "This Item Group represents \"products.html\"": "Ce groupe repr\u00e9sente article "products.html"",
- "Website": "Site Web",
- "Website Product Categories": "Cat\u00e9gories de produits Site web"
-}
\ No newline at end of file
diff --git a/website/doctype/product_settings/locale/hi-doc.json b/website/doctype/product_settings/locale/hi-doc.json
deleted file mode 100644
index 3a18773..0000000
--- a/website/doctype/product_settings/locale/hi-doc.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "Default Product Category": "\u0921\u093f\u092b\u093c\u0949\u0932\u094d\u091f \u0909\u0924\u094d\u092a\u093e\u0926 \u0936\u094d\u0930\u0947\u0923\u0940",
- "Default: \"Product Search\"": "\u0921\u093f\u092b\u093c\u0949\u0932\u094d\u091f: "\u0909\u0924\u094d\u092a\u093e\u0926 \u0916\u094b\u091c"",
- "Help": "\u092e\u0926\u0926",
- "List of Item Groups to be shown in \"All Products\" menu - in the sequence wanted and with number of indents (left spacing to show a tree effect).": "\u0906\u0907\u091f\u092e \u0938\u092e\u0942\u0939 \u0915\u0940 \u0938\u0942\u091a\u0940 "\u0938\u092d\u0940 \u0909\u0924\u094d\u092a\u093e\u0926" \u092e\u0947\u0928\u0942 \u092e\u0947\u0902 \u0926\u093f\u0916\u093e\u092f\u093e \u091c\u093e \u0938\u0915\u0924\u093e \u0939\u0948 - \u0905\u0928\u0941\u0915\u094d\u0930\u092e \u092e\u0947\u0902 \u0915\u0930\u0928\u093e \u091a\u093e\u0939\u0924\u093e \u0925\u093e \u0914\u0930 \u0907\u0902\u0921\u0947\u0902\u091f (\u092c\u093e\u090f\u0902 \u0930\u093f\u0915\u094d\u0924\u093f \u0915\u0947 \u0932\u093f\u090f \u090f\u0915 \u092a\u0947\u0921\u093c \u0915\u0947 \u092a\u094d\u0930\u092d\u093e\u0935 \u0915\u094b \u0926\u093f\u0916\u093e\u0928\u0947 \u0915\u0947 \u0932\u093f\u090f) \u0915\u0940 \u0938\u0902\u0916\u094d\u092f\u093e \u0915\u0947 \u0938\u093e\u0925.",
- "Product Categories": "\u0909\u0924\u094d\u092a\u093e\u0926 \u0936\u094d\u0930\u0947\u0923\u093f\u092f\u094b\u0902",
- "Product Settings": "\u0909\u0924\u094d\u092a\u093e\u0926 \u0938\u0947\u091f\u093f\u0902\u0917",
- "Search Help": "\u0916\u094b\u091c \u0938\u0939\u093e\u092f\u0924\u093e",
- "Settings for Product Catalog on the website": "\u0935\u0947\u092c\u0938\u093e\u0907\u091f \u092a\u0930 \u0909\u0924\u094d\u092a\u093e\u0926 \u0915\u0948\u091f\u0932\u0949\u0917 \u0915\u0947 \u0932\u093f\u090f \u0938\u0947\u091f\u093f\u0902\u0917\u094d\u0938",
- "This Item Group represents \"products.html\"": "\u0907\u0938 \u092e\u0926 \u0938\u092e\u0942\u0939 \u0939\u0948 "products.html" \u0915\u093e \u092a\u094d\u0930\u0924\u093f\u0928\u093f\u0927\u093f\u0924\u094d\u0935 \u0915\u0930\u0924\u093e \u0939\u0948",
- "Website": "\u0935\u0947\u092c\u0938\u093e\u0907\u091f",
- "Website Product Categories": "\u0935\u0947\u092c\u0938\u093e\u0907\u091f \u0909\u0924\u094d\u092a\u093e\u0926 \u0936\u094d\u0930\u0947\u0923\u093f\u092f\u093e\u0901"
-}
\ No newline at end of file
diff --git a/website/doctype/product_settings/locale/hr-doc.json b/website/doctype/product_settings/locale/hr-doc.json
deleted file mode 100644
index f840e93..0000000
--- a/website/doctype/product_settings/locale/hr-doc.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "Default Product Category": "Zadani Kategorija proizvoda",
- "Default: \"Product Search\"": "Default: "Na Tra\u017ei"",
- "Help": "Pomo\u0107i",
- "List of Item Groups to be shown in \"All Products\" menu - in the sequence wanted and with number of indents (left spacing to show a tree effect).": "Popis Artikl grupe koji \u0107e biti prikazan u "Svi proizvodi" izbornik - u slijedu htjela i sa brojem alineje (lijevo razmak pokazati stablo u\u010dinak).",
- "Product Categories": "Kategorije proizvoda",
- "Product Settings": "Postavke proizvoda",
- "Search Help": "Tra\u017ei Pomo\u0107",
- "Settings for Product Catalog on the website": "Postavke za Katalog proizvoda na web stranici",
- "This Item Group represents \"products.html\"": "Ova to\u010dka Grupa predstavlja "products.html"",
- "Website": "Website",
- "Website Product Categories": "Website Kategorije proizvoda"
-}
\ No newline at end of file
diff --git a/website/doctype/product_settings/locale/nl-doc.json b/website/doctype/product_settings/locale/nl-doc.json
deleted file mode 100644
index 5a6621c..0000000
--- a/website/doctype/product_settings/locale/nl-doc.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "Default Product Category": "Standaard Product Categorie",
- "Default: \"Product Search\"": "Standaard: "Product zoeken"",
- "Help": "Help",
- "List of Item Groups to be shown in \"All Products\" menu - in the sequence wanted and with number of indents (left spacing to show a tree effect).": "Lijst van Artikelgroepen kunnen worden weergegeven in "Alle producten" menu - in de reeks wilde en met het aantal streepjes (links handig een boom effect te tonen).",
- "Product Categories": "Product Categorie\u00ebn",
- "Product Settings": "Product-instellingen",
- "Search Help": "Zoek in Help",
- "Settings for Product Catalog on the website": "Instellingen voor Productcatalogus op de website",
- "This Item Group represents \"products.html\"": "Dit artikel Group vertegenwoordigt "products.html"",
- "Website": "Website",
- "Website Product Categories": "Website Product Categorie\u00ebn"
-}
\ No newline at end of file
diff --git a/website/doctype/product_settings/locale/pt-BR-doc.json b/website/doctype/product_settings/locale/pt-BR-doc.json
deleted file mode 100644
index d1a980d..0000000
--- a/website/doctype/product_settings/locale/pt-BR-doc.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "Default Product Category": "Categoria de produto padr\u00e3o",
- "Default: \"Product Search\"": "Padr\u00e3o: "Pesquisa de Produto"",
- "Help": "Ajudar",
- "List of Item Groups to be shown in \"All Products\" menu - in the sequence wanted and with number of indents (left spacing to show a tree effect).": "Lista de Grupos de Itens a serem mostrado no menu "Todos os Produtos" - na sequ\u00eancia desejada e com o n\u00famero de recuos (espa\u00e7amento \u00e0 esquerda para mostrar um efeito de \u00e1rvore).",
- "Product Categories": "Categorias de Produtos",
- "Product Settings": "Configura\u00e7\u00f5es do produto",
- "Search Help": "Procurar Ajuda",
- "Settings for Product Catalog on the website": "Configura\u00e7\u00f5es da P\u00e1gina Cat\u00e1logo de Produtos no site",
- "This Item Group represents \"products.html\"": "Este Grupo de Itens representa "produtos.html"",
- "Website": "Site",
- "Website Product Categories": "Categorias de Produto do site"
-}
\ No newline at end of file
diff --git a/website/doctype/product_settings/locale/pt-doc.json b/website/doctype/product_settings/locale/pt-doc.json
deleted file mode 100644
index 863f626..0000000
--- a/website/doctype/product_settings/locale/pt-doc.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "Default Product Category": "Categoria de produto padr\u00e3o",
- "Default: \"Product Search\"": "Default: "Pesquisa de Produto"",
- "Help": "Ajudar",
- "List of Item Groups to be shown in \"All Products\" menu - in the sequence wanted and with number of indents (left spacing to show a tree effect).": "Lista de Grupos de itens a ser mostrado em "todos os produtos" menu - na seq\u00fc\u00eancia queria e com o n\u00famero de travess\u00f5es (espa\u00e7amento esquerda para mostrar um efeito de \u00e1rvore).",
- "Product Categories": "Categorias de Produtos",
- "Product Settings": "Configura\u00e7\u00f5es do produto",
- "Search Help": "Procurar Ajuda",
- "Settings for Product Catalog on the website": "Configura\u00e7\u00f5es para Cat\u00e1logo de Produtos no site",
- "This Item Group represents \"products.html\"": "Este Grupo item representa "products.html"",
- "Website": "Site",
- "Website Product Categories": "Produto Website Categorias"
-}
\ No newline at end of file
diff --git a/website/doctype/product_settings/locale/sr-doc.json b/website/doctype/product_settings/locale/sr-doc.json
deleted file mode 100644
index 5638a3c..0000000
--- a/website/doctype/product_settings/locale/sr-doc.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "Default Product Category": "\u0423\u043e\u0431\u0438\u0447\u0430\u0458\u0435\u043d\u043e \u041a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0458\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0430",
- "Default: \"Product Search\"": "\u0414\u0435\u0444\u0430\u0443\u043b\u0442: "\u041f\u0440\u0435\u0442\u0440\u0430\u0436\u0438\u0432\u0430\u045a\u0435"",
- "Help": "\u041f\u043e\u043c\u043e\u045b",
- "List of Item Groups to be shown in \"All Products\" menu - in the sequence wanted and with number of indents (left spacing to show a tree effect).": "\u0421\u043f\u0438\u0441\u0430\u043a \u0430\u0440\u0442\u0438\u043a\u0430\u043b\u0430 \u0433\u0440\u0443\u043f\u0430 \u0431\u0443\u0434\u0435 \u043f\u0440\u0438\u043a\u0430\u0437\u0430\u043d \u0443 "\u0421\u0432\u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438 \u0443" \u043c\u0435\u043d\u0438\u0458\u0443 - \u0443 \u043d\u0438\u0437\u0443 \u0436\u0435\u043b\u0435\u043b\u0438 \u0438 \u0441\u0430 \u0431\u0440\u043e\u0458\u0435\u043c \u0430\u043b\u0438\u043d\u0435\u0458\u0435 (\u043b\u0435\u0432\u043e \u0440\u0430\u0437\u043c\u0430\u043a \u0434\u0430 \u043f\u043e\u043a\u0430\u0436\u0435 \u0435\u0444\u0435\u043a\u0430\u0442 \u0441\u0442\u0430\u0431\u043b\u0430).",
- "Product Categories": "\u041a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0458\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0430",
- "Product Settings": "\u041f\u043e\u0434\u0435\u0448\u0430\u0432\u0430\u045a\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0430",
- "Search Help": "\u041f\u0440\u0435\u0442\u0440\u0430\u0433\u0430 \u041f\u043e\u043c\u043e\u045b",
- "Settings for Product Catalog on the website": "\u041f\u043e\u0434\u0435\u0448\u0430\u0432\u0430\u045a\u0430 \u0437\u0430 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0430 \u043d\u0430 \u0441\u0430\u0458\u0442\u0443",
- "This Item Group represents \"products.html\"": "\u041e\u0432\u0430 \u0442\u0430\u0447\u043a\u0430 \u0413\u0440\u0443\u043f\u0430 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0459\u0430 "\u043f\u0440\u043e\u0434\u0443\u0446\u0442\u0441.\u0445\u0442\u043c\u043b"",
- "Website": "\u0412\u0435\u0431\u0441\u0430\u0458\u0442",
- "Website Product Categories": "\u0421\u0430\u0458\u0442 \u041a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0458\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0430"
-}
\ No newline at end of file
diff --git a/website/doctype/product_settings/locale/ta-doc.json b/website/doctype/product_settings/locale/ta-doc.json
deleted file mode 100644
index 78371fe..0000000
--- a/website/doctype/product_settings/locale/ta-doc.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "Default Product Category": "\u0bae\u0bc1\u0ba9\u0bcd\u0ba9\u0bbf\u0bb0\u0bc1\u0baa\u0bcd\u0baa\u0bc1 \u0ba4\u0baf\u0bbe\u0bb0\u0bbf\u0baa\u0bcd\u0baa\u0bc1 \u0baa\u0bbf\u0bb0\u0bbf\u0bb5\u0bc1",
- "Default: \"Product Search\"": "\u0bae\u0bc1\u0ba9\u0bcd\u0ba9\u0bbf\u0bb0\u0bc1\u0baa\u0bcd\u0baa\u0bc1: "\u0ba4\u0bc7\u0b9f\u0bb2\u0bcd"",
- "Help": "\u0b89\u0ba4\u0bb5\u0bbf",
- "List of Item Groups to be shown in \"All Products\" menu - in the sequence wanted and with number of indents (left spacing to show a tree effect).": ""\u0b85\u0ba9\u0bc8\u0ba4\u0bcd\u0ba4\u0bc1 \u0ba4\u0baf\u0bbe\u0bb0\u0bbf\u0baa\u0bcd\u0baa\u0bc1\u0b95\u0bb3\u0bcd" \u0baa\u0b9f\u0bcd\u0b9f\u0bbf \u0b95\u0bbe\u0ba3\u0bcd\u0baa\u0bbf\u0b95\u0bcd\u0b95\u0baa\u0bcd\u0baa\u0b9f\u0bc1\u0bae\u0bcd \u0bb5\u0bc7\u0ba3\u0bcd\u0b9f\u0bc1\u0bae\u0bcd \u0b89\u0bb0\u0bc1\u0baa\u0bcd\u0baa\u0b9f\u0bbf \u0b95\u0bc1\u0bb4\u0bc1\u0b95\u0bcd\u0b95\u0bb3\u0bcd \u0baa\u0b9f\u0bcd\u0b9f\u0bbf\u0baf\u0bb2\u0bcd - \u0bb5\u0bb0\u0bbf\u0b9a\u0bc8 \u0ba4\u0bc7\u0bb5\u0bc8 \u0bae\u0bb1\u0bcd\u0bb1\u0bc1\u0bae\u0bcd \u0b87\u0b9f\u0bc8\u0bb5\u0bc6\u0bb3\u0bbf\u0b95\u0bb3\u0bcd \u0b8e\u0ba3\u0bcd\u0ba3\u0bbf\u0b95\u0bcd\u0b95\u0bc8 (\u0b92\u0bb0\u0bc1 \u0bae\u0bb0\u0bae\u0bcd \u0bb5\u0bbf\u0bb3\u0bc8\u0bb5\u0bc8 \u0b95\u0bbe\u0b9f\u0bcd\u0b9f \u0b87\u0b9f\u0ba4\u0bc1 \u0b87\u0b9f\u0bc8\u0bb5\u0bc6\u0bb3\u0bbf) \u0b89\u0b9f\u0ba9\u0bcd.",
- "Product Categories": "\u0ba4\u0baf\u0bbe\u0bb0\u0bbf\u0baa\u0bcd\u0baa\u0bc1 \u0bb5\u0b95\u0bc8\u0b95\u0bb3\u0bcd",
- "Product Settings": "\u0ba4\u0baf\u0bbe\u0bb0\u0bbf\u0baa\u0bcd\u0baa\u0bc1 \u0b85\u0bae\u0bc8\u0baa\u0bcd\u0baa\u0bc1\u0b95\u0bb3\u0bcd",
- "Search Help": "\u0baa\u0bc6\u0bbe\u0bb4\u0bc1\u0ba4\u0bc1\u0baa\u0bc7\u0bbe\u0b95\u0bcd\u0b95\u0bc1",
- "Settings for Product Catalog on the website": "\u0bb5\u0bb2\u0bc8\u0ba4\u0bcd\u0ba4\u0bb3\u0ba4\u0bcd\u0ba4\u0bbf\u0bb2\u0bcd \u0ba4\u0baf\u0bbe\u0bb0\u0bbf\u0baa\u0bcd\u0baa\u0bc1 \u0baa\u0b9f\u0bcd\u0b9f\u0bbf\u0baf\u0bb2\u0bbf\u0bb2\u0bcd \u0b85\u0bae\u0bc8\u0baa\u0bcd\u0baa\u0bc1\u0b95\u0bb3\u0bc8",
- "This Item Group represents \"products.html\"": "\u0b87\u0ba8\u0bcd\u0ba4 \u0b89\u0bb0\u0bc1\u0baa\u0bcd\u0baa\u0b9f\u0bbf \u0b95\u0bc1\u0bb4\u0bc1 "products.html" \u0baa\u0bbf\u0bb0\u0ba4\u0bbf\u0ba8\u0bbf\u0ba4\u0bbf\u0ba4\u0bcd\u0ba4\u0bc1\u0bb5\u0bae\u0bcd",
- "Website": "\u0b87\u0ba3\u0bc8\u0baf\u0ba4\u0bb3\u0bae\u0bcd",
- "Website Product Categories": "\u0b87\u0ba3\u0bc8\u0baf \u0ba4\u0baf\u0bbe\u0bb0\u0bbf\u0baa\u0bcd\u0baa\u0bc1 \u0bb5\u0b95\u0bc8\u0b95\u0bb3\u0bcd"
-}
\ No newline at end of file
diff --git a/website/doctype/product_settings/locale/th-doc.json b/website/doctype/product_settings/locale/th-doc.json
deleted file mode 100644
index d96b452..0000000
--- a/website/doctype/product_settings/locale/th-doc.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "Default Product Category": "\u0e1b\u0e23\u0e30\u0e40\u0e20\u0e17\u0e2a\u0e34\u0e19\u0e04\u0e49\u0e32\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e49\u0e19",
- "Default: \"Product Search\"": "\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e49\u0e19: "\u0e04\u0e49\u0e19\u0e2b\u0e32\u0e1c\u0e25\u0e34\u0e15\u0e20\u0e31\u0e13\u0e11\u0e4c"",
- "Help": "\u0e0a\u0e48\u0e27\u0e22",
- "List of Item Groups to be shown in \"All Products\" menu - in the sequence wanted and with number of indents (left spacing to show a tree effect).": "\u0e23\u0e32\u0e22\u0e0a\u0e37\u0e48\u0e2d\u0e01\u0e25\u0e38\u0e48\u0e21\u0e2a\u0e34\u0e19\u0e04\u0e49\u0e32\u0e17\u0e35\u0e48\u0e08\u0e30\u0e41\u0e2a\u0e14\u0e07\u0e43\u0e19 "\u0e17\u0e38\u0e01\u0e1c\u0e25\u0e34\u0e15\u0e20\u0e31\u0e13\u0e11\u0e4c" \u0e40\u0e21\u0e19\u0e39 - \u0e43\u0e19\u0e25\u0e33\u0e14\u0e31\u0e1a\u0e17\u0e35\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e41\u0e25\u0e30\u0e21\u0e35\u0e08\u0e33\u0e19\u0e27\u0e19\u0e02\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e40\u0e22\u0e37\u0e49\u0e2d\u0e07 (\u0e23\u0e30\u0e22\u0e30\u0e2b\u0e48\u0e32\u0e07\u0e14\u0e49\u0e32\u0e19\u0e0b\u0e49\u0e32\u0e22\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e41\u0e2a\u0e14\u0e07\u0e1c\u0e25\u0e15\u0e49\u0e19\u0e44\u0e21\u0e49)",
- "Product Categories": "\u0e2b\u0e21\u0e27\u0e14\u0e2b\u0e21\u0e39\u0e48\u0e2a\u0e34\u0e19\u0e04\u0e49\u0e32",
- "Product Settings": "\u0e01\u0e32\u0e23\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e1c\u0e25\u0e34\u0e15\u0e20\u0e31\u0e13\u0e11\u0e4c",
- "Search Help": "\u0e04\u0e49\u0e19\u0e2b\u0e32\u0e0a\u0e48\u0e27\u0e22\u0e40\u0e2b\u0e25\u0e37\u0e2d",
- "Settings for Product Catalog on the website": "\u0e01\u0e32\u0e23\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e41\u0e04\u0e15\u0e15\u0e32\u0e25\u0e47\u0e2d\u0e01\u0e2a\u0e34\u0e19\u0e04\u0e49\u0e32\u0e1a\u0e19\u0e40\u0e27\u0e47\u0e1a\u0e44\u0e0b\u0e15\u0e4c",
- "This Item Group represents \"products.html\"": "\u0e01\u0e25\u0e38\u0e48\u0e21\u0e2a\u0e34\u0e19\u0e04\u0e49\u0e32\u0e19\u0e35\u0e49\u0e2b\u0e21\u0e32\u0e22\u0e16\u0e36\u0e07 "products.html"",
- "Website": "\u0e40\u0e27\u0e47\u0e1a\u0e44\u0e0b\u0e15\u0e4c",
- "Website Product Categories": "\u0e2b\u0e21\u0e27\u0e14\u0e2b\u0e21\u0e39\u0e48\u0e2a\u0e34\u0e19\u0e04\u0e49\u0e32\u0e40\u0e27\u0e47\u0e1a\u0e44\u0e0b\u0e15\u0e4c"
-}
\ No newline at end of file
diff --git a/website/doctype/product_settings/product_settings.py b/website/doctype/product_settings/product_settings.py
deleted file mode 100644
index 0cb4b7b..0000000
--- a/website/doctype/product_settings/product_settings.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# For license information, please see license.txt
-
-from __future__ import unicode_literals
-import webnotes
-
-class DocType:
- def __init__(self, d, dl):
- self.doc, self.doclist = d, dl
-
- def on_update(self):
- """clear web cache"""
- from webnotes.webutils import clear_cache
- clear_cache()
-
- if self.doc.default_product_category:
- webnotes.bean("Item Group",
- self.doc.default_product_category).save()
\ No newline at end of file
diff --git a/website/doctype/product_settings/product_settings.txt b/website/doctype/product_settings/product_settings.txt
deleted file mode 100644
index fd53f52..0000000
--- a/website/doctype/product_settings/product_settings.txt
+++ /dev/null
@@ -1,80 +0,0 @@
-[
- {
- "owner": "Administrator",
- "docstatus": 0,
- "creation": "2012-12-27 11:46:18",
- "modified_by": "Administrator",
- "modified": "2012-12-27 18:51:38"
- },
- {
- "issingle": 1,
- "description": "Settings for Product Catalog on the website",
- "doctype": "DocType",
- "module": "Website",
- "document_type": "Other",
- "name": "__common__"
- },
- {
- "name": "__common__",
- "parent": "Product Settings",
- "doctype": "DocField",
- "parenttype": "DocType",
- "permlevel": 0,
- "parentfield": "fields"
- },
- {
- "parent": "Product Settings",
- "read": 1,
- "name": "__common__",
- "create": 1,
- "doctype": "DocPerm",
- "write": 1,
- "parenttype": "DocType",
- "role": "Website Manager",
- "permlevel": 0,
- "parentfield": "permissions"
- },
- {
- "name": "Product Settings",
- "doctype": "DocType"
- },
- {
- "doctype": "DocField",
- "label": "Help",
- "fieldname": "help",
- "fieldtype": "HTML",
- "options": "<div class=\"alert\">To start adding products on the website, check \"Show in Website\" in <b>Item</b> and <b>Item Group</b></div>"
- },
- {
- "description": "This Item Group represents \"products.html\"",
- "doctype": "DocField",
- "label": "Default Product Category",
- "fieldname": "default_product_category",
- "fieldtype": "Link",
- "options": "Item Group"
- },
- {
- "description": "Default: \"Product Search\"",
- "doctype": "DocField",
- "label": "Search Help",
- "fieldname": "search_help",
- "fieldtype": "Data"
- },
- {
- "description": "List of Item Groups to be shown in \"All Products\" menu - in the sequence wanted and with number of indents (left spacing to show a tree effect).",
- "doctype": "DocField",
- "label": "Product Categories",
- "fieldname": "sb2",
- "fieldtype": "Section Break"
- },
- {
- "doctype": "DocField",
- "label": "Website Product Categories",
- "fieldname": "website_product_categories",
- "fieldtype": "Table",
- "options": "Website Product Category"
- },
- {
- "doctype": "DocPerm"
- }
-]
\ No newline at end of file
diff --git a/website/doctype/products_settings/locale/_messages_doc.json b/website/doctype/products_settings/locale/_messages_doc.json
deleted file mode 100644
index c44eb10..0000000
--- a/website/doctype/products_settings/locale/_messages_doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-[
- "Website",
- "Product Groups that are listed on the website. The first product group from this list will be listed by default on the \"Products Page\"",
- "Groups",
- "Products Settings"
-]
\ No newline at end of file
diff --git a/website/doctype/products_settings/locale/ar-doc.json b/website/doctype/products_settings/locale/ar-doc.json
deleted file mode 100644
index 14e1d03..0000000
--- a/website/doctype/products_settings/locale/ar-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Groups": "\u0645\u062c\u0645\u0648\u0639\u0627\u062a",
- "Product Groups that are listed on the website. The first product group from this list will be listed by default on the \"Products Page\"": "\u0645\u062c\u0645\u0648\u0639\u0627\u062a \u0627\u0644\u0645\u0646\u062a\u062c\u0627\u062a \u0627\u0644\u0645\u0633\u0631\u0648\u062f\u0629 \u0639\u0644\u0649 \u0634\u0628\u0643\u0629 \u0627\u0644\u0627\u0646\u062a\u0631\u0646\u062a. \u0633\u064a\u062a\u0645 \u0633\u0631\u062f \u0645\u062c\u0645\u0648\u0639\u0629 \u0623\u0648\u0644 \u0645\u0646\u062a\u062c \u0645\u0646 \u0647\u0630\u0647 \u0627\u0644\u0642\u0627\u0626\u0645\u0629 \u0628\u0634\u0643\u0644 \u0627\u0641\u062a\u0631\u0627\u0636\u064a \u0639\u0644\u0649 "\u0635\u0641\u062d\u0629 \u0627\u0644\u0645\u0646\u062a\u062c\u0627\u062a"",
- "Products Settings": "\u0627\u0644\u0645\u0646\u062a\u062c\u0627\u062a \u0625\u0639\u062f\u0627\u062f\u0627\u062a",
- "Website": "\u0627\u0644\u0645\u0648\u0642\u0639"
-}
\ No newline at end of file
diff --git a/website/doctype/products_settings/locale/de-doc.json b/website/doctype/products_settings/locale/de-doc.json
deleted file mode 100644
index 29af278..0000000
--- a/website/doctype/products_settings/locale/de-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Groups": "Gruppen",
- "Product Groups that are listed on the website. The first product group from this list will be listed by default on the \"Products Page\"": "Produktgruppen, die auf der Website aufgef\u00fchrt sind. Das erste Produkt aus dieser Gruppe Liste wird standardm\u00e4\u00dfig auf der \"Products Page\" aufgef\u00fchrt werden",
- "Products Settings": "Produkte Einstellungen",
- "Website": "Webseite"
-}
\ No newline at end of file
diff --git a/website/doctype/products_settings/locale/es-doc.json b/website/doctype/products_settings/locale/es-doc.json
deleted file mode 100644
index 0517d3b..0000000
--- a/website/doctype/products_settings/locale/es-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Groups": "Grupos",
- "Product Groups that are listed on the website. The first product group from this list will be listed by default on the \"Products Page\"": "Categor\u00eda de producto que aparecen en el sitio web. El grupo de primer producto de esta lista se enumeran de forma predeterminada en la "P\u00e1gina de Productos"",
- "Products Settings": "Productos Settings",
- "Website": "Sitio web"
-}
\ No newline at end of file
diff --git a/website/doctype/products_settings/locale/fr-doc.json b/website/doctype/products_settings/locale/fr-doc.json
deleted file mode 100644
index cb15639..0000000
--- a/website/doctype/products_settings/locale/fr-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Groups": "Groupes",
- "Product Groups that are listed on the website. The first product group from this list will be listed by default on the \"Products Page\"": "Groupes de produits qui sont r\u00e9pertori\u00e9s sur le site Web. Le premier groupe de produits \u00e0 partir de cette liste seront list\u00e9s par d\u00e9faut sur la page "Produits"",
- "Products Settings": "R\u00e9glages Produits",
- "Website": "Site Web"
-}
\ No newline at end of file
diff --git a/website/doctype/products_settings/locale/hi-doc.json b/website/doctype/products_settings/locale/hi-doc.json
deleted file mode 100644
index 87e28a7..0000000
--- a/website/doctype/products_settings/locale/hi-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Groups": "\u0938\u092e\u0942\u0939",
- "Product Groups that are listed on the website. The first product group from this list will be listed by default on the \"Products Page\"": "\u0909\u0924\u094d\u092a\u093e\u0926 \u0938\u092e\u0942\u0939 \u0939\u0948 \u0915\u093f \u0935\u0947\u092c\u0938\u093e\u0907\u091f \u092a\u0930 \u0938\u0942\u091a\u0940\u092c\u0926\u094d\u0927 \u0939\u0948\u0902. \u0907\u0938 \u0938\u0942\u091a\u0940 \u092e\u0947\u0902 \u0938\u0947 \u092a\u0939\u0932\u093e \u0909\u0924\u094d\u092a\u093e\u0926 \u0938\u092e\u0942\u0939 "\u0909\u0924\u094d\u092a\u093e\u0926" \u092a\u0947\u091c \u092a\u0930 \u0921\u093f\u092b\u093c\u0949\u0932\u094d\u091f \u0930\u0942\u092a \u0938\u0947 \u0938\u0942\u091a\u0940\u092c\u0926\u094d\u0927 \u0915\u093f\u092f\u093e \u091c\u093e\u090f\u0917\u093e",
- "Products Settings": "\u0909\u0924\u094d\u092a\u093e\u0926 \u0938\u0947\u091f\u093f\u0902\u0917\u094d\u0938",
- "Website": "\u0935\u0947\u092c\u0938\u093e\u0907\u091f"
-}
\ No newline at end of file
diff --git a/website/doctype/products_settings/locale/hr-doc.json b/website/doctype/products_settings/locale/hr-doc.json
deleted file mode 100644
index f6f8750..0000000
--- a/website/doctype/products_settings/locale/hr-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Groups": "Grupe",
- "Product Groups that are listed on the website. The first product group from this list will be listed by default on the \"Products Page\"": "Proizvod Grupe koje su navedene na web stranici. Prva grupa proizvoda iz ovog popisa \u0107e biti navedeni po defaultu na "Proizvodi stranice"",
- "Products Settings": "Proizvodi Postavke",
- "Website": "Website"
-}
\ No newline at end of file
diff --git a/website/doctype/products_settings/locale/nl-doc.json b/website/doctype/products_settings/locale/nl-doc.json
deleted file mode 100644
index 192b67f..0000000
--- a/website/doctype/products_settings/locale/nl-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Groups": "Groepen",
- "Product Groups that are listed on the website. The first product group from this list will be listed by default on the \"Products Page\"": "Product Groepen die worden vermeld op de website. De eerste productgroep van deze lijst wordt standaard weergegeven op de "Producten Page"",
- "Products Settings": "Producten Instellingen",
- "Website": "Website"
-}
\ No newline at end of file
diff --git a/website/doctype/products_settings/locale/pt-BR-doc.json b/website/doctype/products_settings/locale/pt-BR-doc.json
deleted file mode 100644
index f8f474f..0000000
--- a/website/doctype/products_settings/locale/pt-BR-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Groups": "Grupos",
- "Product Groups that are listed on the website. The first product group from this list will be listed by default on the \"Products Page\"": "Grupos de produtos listados no site. O primeiro grupo de produtos desta lista ser\u00e3o listados por padr\u00e3o na "P\u00e1gina de Produtos"",
- "Products Settings": "Configura\u00e7\u00f5es de produtos",
- "Website": "Site"
-}
\ No newline at end of file
diff --git a/website/doctype/products_settings/locale/pt-doc.json b/website/doctype/products_settings/locale/pt-doc.json
deleted file mode 100644
index 96c9c5a..0000000
--- a/website/doctype/products_settings/locale/pt-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Groups": "Grupos",
- "Product Groups that are listed on the website. The first product group from this list will be listed by default on the \"Products Page\"": "Grupos de produtos listados no site. O grupo primeiro produto desta lista ser\u00e3o listados por padr\u00e3o na "P\u00e1gina de Produtos"",
- "Products Settings": "Configura\u00e7\u00f5es de produtos",
- "Website": "Site"
-}
\ No newline at end of file
diff --git a/website/doctype/products_settings/locale/sr-doc.json b/website/doctype/products_settings/locale/sr-doc.json
deleted file mode 100644
index b585072..0000000
--- a/website/doctype/products_settings/locale/sr-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Groups": "\u0413\u0440\u0443\u043f\u0435",
- "Product Groups that are listed on the website. The first product group from this list will be listed by default on the \"Products Page\"": "\u0413\u0440\u0443\u043f\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0430 \u043a\u043e\u0458\u0435 \u0441\u0443 \u043d\u0430\u0432\u0435\u0434\u0435\u043d\u0435 \u043d\u0430 \u0441\u0430\u0458\u0442\u0443. \u041f\u0440\u0432\u0430 \u0433\u0440\u0443\u043f\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0430 \u0438\u0437 \u043e\u0432\u0435 \u043b\u0438\u0441\u0442\u0435 \u045b\u0435 \u0431\u0438\u0442\u0438 \u043d\u0430\u0432\u0435\u0434\u0435\u043d \u043f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u043d\u043e \u043d\u0430 "\u041f\u0430\u0433\u0435 \u041f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438"",
- "Products Settings": "\u041f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438 \u041f\u043e\u0434\u0435\u0448\u0430\u0432\u0430\u045a\u0430",
- "Website": "\u0412\u0435\u0431\u0441\u0430\u0458\u0442"
-}
\ No newline at end of file
diff --git a/website/doctype/products_settings/locale/ta-doc.json b/website/doctype/products_settings/locale/ta-doc.json
deleted file mode 100644
index 48a8b61..0000000
--- a/website/doctype/products_settings/locale/ta-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Groups": "\u0b95\u0bc1\u0bb4\u0bc1\u0b95\u0bcd\u0b95\u0bb3\u0bcd",
- "Product Groups that are listed on the website. The first product group from this list will be listed by default on the \"Products Page\"": "\u0bb5\u0bb2\u0bc8\u0ba4\u0bcd\u0ba4\u0bb3\u0ba4\u0bcd\u0ba4\u0bbf\u0bb2\u0bcd \u0baa\u0b9f\u0bcd\u0b9f\u0bbf\u0baf\u0bb2\u0bbf\u0b9f\u0baa\u0bcd\u0baa\u0b9f\u0bcd\u0b9f\u0bc1\u0bb3\u0bcd\u0bb3\u0ba4\u0bc1 \u0b8e\u0ba9\u0bcd\u0bb1\u0bc1 \u0ba4\u0baf\u0bbe\u0bb0\u0bbf\u0baa\u0bcd\u0baa\u0bc1 \u0b95\u0bc1\u0bb4\u0bc1\u0b95\u0bcd\u0b95\u0bb3\u0bcd. \u0b87\u0ba8\u0bcd\u0ba4 \u0baa\u0b9f\u0bcd\u0b9f\u0bbf\u0baf\u0bb2\u0bbf\u0bb2\u0bcd \u0b87\u0bb0\u0bc1\u0ba8\u0bcd\u0ba4\u0bc1 \u0bae\u0bc1\u0ba4\u0bb2\u0bcd \u0ba4\u0baf\u0bbe\u0bb0\u0bbf\u0baa\u0bcd\u0baa\u0bc1 \u0b95\u0bc1\u0bb4\u0bc1 "\u0ba4\u0baf\u0bbe\u0bb0\u0bbf\u0baa\u0bcd\u0baa\u0bc1\u0b95\u0bb3\u0bcd \u0baa\u0b95\u0bcd\u0b95\u0bae\u0bcd" \u0bae\u0bc1\u0ba9\u0bcd\u0ba9\u0bbf\u0bb0\u0bc1\u0baa\u0bcd\u0baa\u0bbe\u0b95 \u0baa\u0b9f\u0bcd\u0b9f\u0bbf\u0baf\u0bb2\u0bbf\u0b9f\u0baa\u0bcd\u0baa\u0b9f\u0bcd\u0b9f\u0bc1\u0bb3\u0bcd\u0bb3",
- "Products Settings": "\u0baa\u0bc6\u0bbe\u0bb0\u0bc1\u0b9f\u0bcd\u0b95\u0bb3\u0bcd \u0b85\u0bae\u0bc8\u0baa\u0bcd\u0baa\u0bc1\u0b95\u0bb3\u0bcd",
- "Website": "\u0b87\u0ba3\u0bc8\u0baf\u0ba4\u0bb3\u0bae\u0bcd"
-}
\ No newline at end of file
diff --git a/website/doctype/products_settings/locale/th-doc.json b/website/doctype/products_settings/locale/th-doc.json
deleted file mode 100644
index ed75263..0000000
--- a/website/doctype/products_settings/locale/th-doc.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "Groups": "\u0e01\u0e25\u0e38\u0e48\u0e21",
- "Product Groups that are listed on the website. The first product group from this list will be listed by default on the \"Products Page\"": "\u0e01\u0e25\u0e38\u0e48\u0e21\u0e2a\u0e34\u0e19\u0e04\u0e49\u0e32\u0e17\u0e35\u0e48\u0e21\u0e35\u0e01\u0e32\u0e23\u0e23\u0e30\u0e1a\u0e38\u0e44\u0e27\u0e49\u0e1a\u0e19\u0e40\u0e27\u0e47\u0e1a\u0e44\u0e0b\u0e15\u0e4c \u0e01\u0e25\u0e38\u0e48\u0e21\u0e1c\u0e25\u0e34\u0e15\u0e20\u0e31\u0e13\u0e11\u0e4c\u0e41\u0e23\u0e01\u0e08\u0e32\u0e01\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23\u0e19\u0e35\u200b\u200b\u0e49\u0e08\u0e30\u0e16\u0e39\u0e01\u0e23\u0e30\u0e1a\u0e38\u0e44\u0e27\u0e49\u0e15\u0e32\u0e21\u0e04\u0e48\u0e32\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e49\u0e19\u0e17\u0e35\u0e48 "\u0e2b\u0e19\u0e49\u0e32\u0e1c\u0e25\u0e34\u0e15\u0e20\u0e31\u0e13\u0e11\u0e4c"",
- "Products Settings": "\u0e01\u0e32\u0e23\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e1c\u0e25\u0e34\u0e15\u0e20\u0e31\u0e13\u0e11\u0e4c",
- "Website": "\u0e40\u0e27\u0e47\u0e1a\u0e44\u0e0b\u0e15\u0e4c"
-}
\ No newline at end of file
diff --git a/website/doctype/related_page/__init__.py b/website/doctype/related_page/__init__.py
deleted file mode 100644
index baffc48..0000000
--- a/website/doctype/related_page/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-from __future__ import unicode_literals
diff --git a/website/doctype/related_page/locale/_messages_doc.json b/website/doctype/related_page/locale/_messages_doc.json
deleted file mode 100644
index 103d2fa..0000000
--- a/website/doctype/related_page/locale/_messages_doc.json
+++ /dev/null
@@ -1,5 +0,0 @@
-[
- "Website",
- "Related Page",
- "Page"
-]
\ No newline at end of file
diff --git a/website/doctype/related_page/locale/ar-doc.json b/website/doctype/related_page/locale/ar-doc.json
deleted file mode 100644
index f8406d4..0000000
--- a/website/doctype/related_page/locale/ar-doc.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "Page": "\u0635\u0641\u062d\u0629",
- "Related Page": "\u0627\u0644\u0635\u0641\u062d\u0629 \u0630\u0627\u062a \u0627\u0644\u0635\u0644\u0629",
- "Website": "\u0627\u0644\u0645\u0648\u0642\u0639"
-}
\ No newline at end of file
diff --git a/website/doctype/related_page/locale/de-doc.json b/website/doctype/related_page/locale/de-doc.json
deleted file mode 100644
index 4ff3efc..0000000
--- a/website/doctype/related_page/locale/de-doc.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "Page": "Seite",
- "Related Page": "Verwandte Seite",
- "Website": "Webseite"
-}
\ No newline at end of file
diff --git a/website/doctype/related_page/locale/es-doc.json b/website/doctype/related_page/locale/es-doc.json
deleted file mode 100644
index daecef6..0000000
--- a/website/doctype/related_page/locale/es-doc.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "Page": "P\u00e1gina",
- "Related Page": "P\u00e1gina Relacionada",
- "Website": "Sitio web"
-}
\ No newline at end of file
diff --git a/website/doctype/related_page/locale/fr-doc.json b/website/doctype/related_page/locale/fr-doc.json
deleted file mode 100644
index e36bdc4..0000000
--- a/website/doctype/related_page/locale/fr-doc.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "Page": "Page",
- "Related Page": "Associ\u00e9s Page",
- "Website": "Site Web"
-}
\ No newline at end of file
diff --git a/website/doctype/related_page/locale/hi-doc.json b/website/doctype/related_page/locale/hi-doc.json
deleted file mode 100644
index 881f890..0000000
--- a/website/doctype/related_page/locale/hi-doc.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "Page": "\u092a\u0947\u091c",
- "Related Page": "\u0938\u0902\u092c\u0902\u0927\u093f\u0924 \u092a\u0947\u091c",
- "Website": "\u0935\u0947\u092c\u0938\u093e\u0907\u091f"
-}
\ No newline at end of file
diff --git a/website/doctype/related_page/locale/hr-doc.json b/website/doctype/related_page/locale/hr-doc.json
deleted file mode 100644
index fdb8504..0000000
--- a/website/doctype/related_page/locale/hr-doc.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "Page": "Stranica",
- "Related Page": "Vezani Stranica",
- "Website": "Website"
-}
\ No newline at end of file
diff --git a/website/doctype/related_page/locale/nl-doc.json b/website/doctype/related_page/locale/nl-doc.json
deleted file mode 100644
index 43d36c4..0000000
--- a/website/doctype/related_page/locale/nl-doc.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "Page": "Pagina",
- "Related Page": "Verwante pagina",
- "Website": "Website"
-}
\ No newline at end of file
diff --git a/website/doctype/related_page/locale/pt-BR-doc.json b/website/doctype/related_page/locale/pt-BR-doc.json
deleted file mode 100644
index 92acc67..0000000
--- a/website/doctype/related_page/locale/pt-BR-doc.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "Page": "P\u00e1gina",
- "Related Page": "P\u00e1gina Relacionada",
- "Website": "Site"
-}
\ No newline at end of file
diff --git a/website/doctype/related_page/locale/pt-doc.json b/website/doctype/related_page/locale/pt-doc.json
deleted file mode 100644
index 92acc67..0000000
--- a/website/doctype/related_page/locale/pt-doc.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "Page": "P\u00e1gina",
- "Related Page": "P\u00e1gina Relacionada",
- "Website": "Site"
-}
\ No newline at end of file
diff --git a/website/doctype/related_page/locale/sr-doc.json b/website/doctype/related_page/locale/sr-doc.json
deleted file mode 100644
index a924dd2..0000000
--- a/website/doctype/related_page/locale/sr-doc.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "Page": "\u0421\u0442\u0440\u0430\u043d\u0430",
- "Related Page": "\u0420\u0435\u043b\u0430\u0442\u0435\u0434 \u0421\u0442\u0440\u0430\u043d\u0430",
- "Website": "\u0412\u0435\u0431\u0441\u0430\u0458\u0442"
-}
\ No newline at end of file
diff --git a/website/doctype/related_page/locale/ta-doc.json b/website/doctype/related_page/locale/ta-doc.json
deleted file mode 100644
index 336ef40..0000000
--- a/website/doctype/related_page/locale/ta-doc.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "Page": "\u0baa\u0b95\u0bcd\u0b95\u0bae\u0bcd",
- "Related Page": "\u0ba4\u0bc6\u0bbe\u0b9f\u0bb0\u0bcd\u0baa\u0bc1\u0b9f\u0bc8\u0baf \u0baa\u0b95\u0bcd\u0b95\u0bae\u0bcd",
- "Website": "\u0b87\u0ba3\u0bc8\u0baf\u0ba4\u0bb3\u0bae\u0bcd"
-}
\ No newline at end of file
diff --git a/website/doctype/related_page/locale/th-doc.json b/website/doctype/related_page/locale/th-doc.json
deleted file mode 100644
index 7ef1f4b..0000000
--- a/website/doctype/related_page/locale/th-doc.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "Page": "\u0e2b\u0e19\u0e49\u0e32",
- "Related Page": "\u0e40\u0e1e\u0e08\u0e17\u0e35\u0e48\u0e40\u0e01\u0e35\u0e48\u0e22\u0e27\u0e02\u0e49\u0e2d\u0e07",
- "Website": "\u0e40\u0e27\u0e47\u0e1a\u0e44\u0e0b\u0e15\u0e4c"
-}
\ No newline at end of file
diff --git a/website/doctype/related_page/related_page.py b/website/doctype/related_page/related_page.py
deleted file mode 100644
index 7f48feb..0000000
--- a/website/doctype/related_page/related_page.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-from __future__ import unicode_literals
-import webnotes
-
-class DocType:
- def __init__(self, d, dl):
- self.doc, self.doclist = d, dl
\ No newline at end of file
diff --git a/website/doctype/related_page/related_page.txt b/website/doctype/related_page/related_page.txt
deleted file mode 100644
index 2f21cbd..0000000
--- a/website/doctype/related_page/related_page.txt
+++ /dev/null
@@ -1,34 +0,0 @@
-[
- {
- "creation": "2013-02-22 01:28:08",
- "docstatus": 0,
- "modified": "2013-03-07 07:03:30",
- "modified_by": "Administrator",
- "owner": "Administrator"
- },
- {
- "doctype": "DocType",
- "istable": 1,
- "module": "Website",
- "name": "__common__"
- },
- {
- "doctype": "DocField",
- "fieldname": "page",
- "fieldtype": "Link",
- "label": "Page",
- "name": "__common__",
- "options": "Page",
- "parent": "Related Page",
- "parentfield": "fields",
- "parenttype": "DocType",
- "permlevel": 0
- },
- {
- "doctype": "DocType",
- "name": "Related Page"
- },
- {
- "doctype": "DocField"
- }
-]
\ No newline at end of file
diff --git a/website/doctype/style_settings/README.md b/website/doctype/style_settings/README.md
new file mode 100644
index 0000000..de9d0cd
--- /dev/null
+++ b/website/doctype/style_settings/README.md
@@ -0,0 +1,6 @@
+Style settings for website. Includes settings for:
+
+- Site colours (background, toolbars)
+- Fonts (family and size)
+- Background (image if any)
+- Custom CSS
\ No newline at end of file
diff --git a/website/doctype/top_bar_item/README.md b/website/doctype/top_bar_item/README.md
new file mode 100644
index 0000000..3300367
--- /dev/null
+++ b/website/doctype/top_bar_item/README.md
@@ -0,0 +1 @@
+Link in the header or footer of the website.
\ No newline at end of file
diff --git a/website/doctype/web_page/README.md b/website/doctype/web_page/README.md
new file mode 100644
index 0000000..1ef179b
--- /dev/null
+++ b/website/doctype/web_page/README.md
@@ -0,0 +1 @@
+Static (HTML / JS / CSS) page created by the user for the website.
\ No newline at end of file
diff --git a/website/doctype/website_item_group/README.md b/website/doctype/website_item_group/README.md
new file mode 100644
index 0000000..54abfaf
--- /dev/null
+++ b/website/doctype/website_item_group/README.md
@@ -0,0 +1 @@
+Alternate grouping of parent Item (for website, so an Item can be listed under multiple groups).
\ No newline at end of file
diff --git a/website/doctype/website_product_category/__init__.py b/website/doctype/website_product_category/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/website/doctype/website_product_category/__init__.py
+++ /dev/null
diff --git a/website/doctype/website_product_category/locale/_messages_doc.json b/website/doctype/website_product_category/locale/_messages_doc.json
deleted file mode 100644
index cacc0ac..0000000
--- a/website/doctype/website_product_category/locale/_messages_doc.json
+++ /dev/null
@@ -1,7 +0,0 @@
-[
- "Website",
- "Product Category for website",
- "Indent",
- "Item Group",
- "Website Product Category"
-]
\ No newline at end of file
diff --git a/website/doctype/website_product_category/locale/ar-doc.json b/website/doctype/website_product_category/locale/ar-doc.json
deleted file mode 100644
index eaa1f44..0000000
--- a/website/doctype/website_product_category/locale/ar-doc.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "0": "0",
- "1": "1",
- "2": "2",
- "3": "3",
- "4": "4",
- "5": "5",
- "Indent": "\u0627\u0644\u0645\u0633\u0627\u0641\u0629 \u0627\u0644\u0628\u0627\u062f\u0626\u0629",
- "Item Group": "\u0627\u0644\u0628\u0646\u062f \u0627\u0644\u0645\u062c\u0645\u0648\u0639\u0629",
- "Product Category for website": "\u0641\u0626\u0629 \u0645\u0646 \u0641\u0626\u0627\u062a \u0627\u0644\u0645\u0646\u062a\u062c\u0627\u062a \u0644\u0645\u0648\u0642\u0639 \u0627\u0644\u0648\u064a\u0628",
- "Website": "\u0627\u0644\u0645\u0648\u0642\u0639",
- "Website Product Category": "\u0627\u0644\u0645\u0648\u0642\u0639 \u0641\u0626\u0629 \u0627\u0644\u0645\u0646\u062a\u062c"
-}
\ No newline at end of file
diff --git a/website/doctype/website_product_category/locale/de-doc.json b/website/doctype/website_product_category/locale/de-doc.json
deleted file mode 100644
index d834954..0000000
--- a/website/doctype/website_product_category/locale/de-doc.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "Indent": "Einzug",
- "Item Group": "Artikel-Gruppe",
- "Product Category for website": "Produktkategorie f\u00fcr Website",
- "Website": "Webseite",
- "Website Product Category": "Website Produktkategorie"
-}
\ No newline at end of file
diff --git a/website/doctype/website_product_category/locale/es-doc.json b/website/doctype/website_product_category/locale/es-doc.json
deleted file mode 100644
index 10c6b90..0000000
--- a/website/doctype/website_product_category/locale/es-doc.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "0": "0",
- "1": "1",
- "2": "2",
- "3": "3",
- "4": "4",
- "5": "5",
- "Indent": "Sangrar",
- "Item Group": "Grupo de art\u00edculos",
- "Product Category for website": "Categor\u00eda de productos para el sitio web",
- "Website": "Sitio web",
- "Website Product Category": "Sitio web Categor\u00eda de producto"
-}
\ No newline at end of file
diff --git a/website/doctype/website_product_category/locale/fr-doc.json b/website/doctype/website_product_category/locale/fr-doc.json
deleted file mode 100644
index 40bfda6..0000000
--- a/website/doctype/website_product_category/locale/fr-doc.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "0": "0",
- "1": "1",
- "2": "2",
- "3": "3",
- "4": "4",
- "5": "5",
- "Indent": "Tiret",
- "Item Group": "Groupe d'\u00e9l\u00e9ments",
- "Product Category for website": "Cat\u00e9gorie de produit pour le site web",
- "Website": "Site Web",
- "Website Product Category": "Cat\u00e9gorie de produit site web"
-}
\ No newline at end of file
diff --git a/website/doctype/website_product_category/locale/hi-doc.json b/website/doctype/website_product_category/locale/hi-doc.json
deleted file mode 100644
index 5416bb9..0000000
--- a/website/doctype/website_product_category/locale/hi-doc.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "0": "0",
- "1": "1",
- "2": "2",
- "3": "3",
- "4": "4",
- "5": "5",
- "Indent": "\u092e\u093e\u0902\u0917\u092a\u0924\u094d\u0930",
- "Item Group": "\u0906\u0907\u091f\u092e \u0938\u092e\u0942\u0939",
- "Product Category for website": "\u0935\u0947\u092c\u0938\u093e\u0907\u091f \u0915\u0947 \u0932\u093f\u090f \u0909\u0924\u094d\u092a\u093e\u0926 \u0936\u094d\u0930\u0947\u0923\u0940",
- "Website": "\u0935\u0947\u092c\u0938\u093e\u0907\u091f",
- "Website Product Category": "\u0935\u0947\u092c\u0938\u093e\u0907\u091f \u0909\u0924\u094d\u092a\u093e\u0926 \u0936\u094d\u0930\u0947\u0923\u0940"
-}
\ No newline at end of file
diff --git a/website/doctype/website_product_category/locale/hr-doc.json b/website/doctype/website_product_category/locale/hr-doc.json
deleted file mode 100644
index 07ff9fd..0000000
--- a/website/doctype/website_product_category/locale/hr-doc.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "0": "0",
- "1": "1",
- "2": "2",
- "3": "3",
- "4": "4",
- "5": "5",
- "Indent": "Uvu\u0107i",
- "Item Group": "Stavka Grupa",
- "Product Category for website": "Proizvod Kategorija za web stranicu",
- "Website": "Website",
- "Website Product Category": "Web Kategorija proizvoda"
-}
\ No newline at end of file
diff --git a/website/doctype/website_product_category/locale/nl-doc.json b/website/doctype/website_product_category/locale/nl-doc.json
deleted file mode 100644
index 4f67755..0000000
--- a/website/doctype/website_product_category/locale/nl-doc.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "0": "0",
- "1": "1",
- "2": "2",
- "3": "3",
- "4": "4",
- "5": "5",
- "Indent": "Inspringen",
- "Item Group": "Item Group",
- "Product Category for website": "Product Categorie voor website",
- "Website": "Website",
- "Website Product Category": "Website Product Category"
-}
\ No newline at end of file
diff --git a/website/doctype/website_product_category/locale/pt-BR-doc.json b/website/doctype/website_product_category/locale/pt-BR-doc.json
deleted file mode 100644
index 5fc8d29..0000000
--- a/website/doctype/website_product_category/locale/pt-BR-doc.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "Indent": "Recuar",
- "Item Group": "Grupo de Itens",
- "Product Category for website": "Categoria de Produto para o site",
- "Website": "Site",
- "Website Product Category": "Categoria de Produto do site"
-}
\ No newline at end of file
diff --git a/website/doctype/website_product_category/locale/pt-doc.json b/website/doctype/website_product_category/locale/pt-doc.json
deleted file mode 100644
index b09c836..0000000
--- a/website/doctype/website_product_category/locale/pt-doc.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "0": "0",
- "1": "1",
- "2": "2",
- "3": "3",
- "4": "4",
- "5": "5",
- "Indent": "Recuar",
- "Item Group": "Grupo Item",
- "Product Category for website": "Categoria de Produto para o site",
- "Website": "Site",
- "Website Product Category": "Categoria de Produto site"
-}
\ No newline at end of file
diff --git a/website/doctype/website_product_category/locale/sr-doc.json b/website/doctype/website_product_category/locale/sr-doc.json
deleted file mode 100644
index dafa9b0..0000000
--- a/website/doctype/website_product_category/locale/sr-doc.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "0": "0",
- "1": "1",
- "2": "2",
- "3": "3",
- "4": "4",
- "5": "5",
- "Indent": "\u0423\u0432\u0443\u045b\u0438",
- "Item Group": "\u0421\u0442\u0430\u0432\u043a\u0430 \u0413\u0440\u0443\u043f\u0430",
- "Product Category for website": "\u041a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0458\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0430 \u0437\u0430 \u0441\u0430\u0458\u0442",
- "Website": "\u0412\u0435\u0431\u0441\u0430\u0458\u0442",
- "Website Product Category": "\u0421\u0430\u0458\u0442 \u041a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0458\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0430"
-}
\ No newline at end of file
diff --git a/website/doctype/website_product_category/locale/ta-doc.json b/website/doctype/website_product_category/locale/ta-doc.json
deleted file mode 100644
index 396a46a..0000000
--- a/website/doctype/website_product_category/locale/ta-doc.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "0": "0",
- "1": "1",
- "2": "2",
- "3": "3",
- "4": "4",
- "5": "5",
- "Indent": "(\u0b8e\u0bb4\u0bc1\u0ba4\u0bc1\u0bae\u0bcd\u0baa\u0bc7\u0bbe\u0ba4\u0bc1) \u0b93\u0bb0\u0ba4\u0bcd\u0ba4\u0bbf\u0bb2\u0bcd \u0b87\u0b9f\u0bae\u0bcd \u0bb5\u0bbf\u0b9f\u0bc1",
- "Item Group": "\u0b89\u0bb0\u0bc1\u0baa\u0bcd\u0baa\u0b9f\u0bbf\u0baf\u0bc8 \u0b95\u0bc1\u0bb4\u0bc1",
- "Product Category for website": "\u0bb5\u0bb2\u0bc8\u0ba4\u0bcd\u0ba4\u0bb3\u0ba4\u0bcd\u0ba4\u0bc8 \u0ba4\u0baf\u0bbe\u0bb0\u0bbf\u0baa\u0bcd\u0baa\u0bc1 \u0baa\u0bbf\u0bb0\u0bbf\u0bb5\u0bc1",
- "Website": "\u0b87\u0ba3\u0bc8\u0baf\u0ba4\u0bb3\u0bae\u0bcd",
- "Website Product Category": "\u0b87\u0ba3\u0bc8\u0baf \u0ba4\u0baf\u0bbe\u0bb0\u0bbf\u0baa\u0bcd\u0baa\u0bc1 \u0baa\u0bbf\u0bb0\u0bbf\u0bb5\u0bc1"
-}
\ No newline at end of file
diff --git a/website/doctype/website_product_category/locale/th-doc.json b/website/doctype/website_product_category/locale/th-doc.json
deleted file mode 100644
index 405f231..0000000
--- a/website/doctype/website_product_category/locale/th-doc.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "0": "0",
- "1": "1",
- "2": "2",
- "3": "3",
- "4": "4",
- "5": "5",
- "Indent": "\u0e22\u0e48\u0e2d\u0e2b\u0e19\u0e49\u0e32",
- "Item Group": "\u0e01\u0e25\u0e38\u0e48\u0e21\u0e2a\u0e34\u0e19\u0e04\u0e49\u0e32",
- "Product Category for website": "\u0e1b\u0e23\u0e30\u0e40\u0e20\u0e17\u0e2a\u0e34\u0e19\u0e04\u0e49\u0e32\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e40\u0e27\u0e47\u0e1a\u0e44\u0e0b\u0e15\u0e4c",
- "Website": "\u0e40\u0e27\u0e47\u0e1a\u0e44\u0e0b\u0e15\u0e4c",
- "Website Product Category": "\u0e1b\u0e23\u0e30\u0e40\u0e20\u0e17\u0e2a\u0e34\u0e19\u0e04\u0e49\u0e32\u0e40\u0e27\u0e47\u0e1a\u0e44\u0e0b\u0e15\u0e4c"
-}
\ No newline at end of file
diff --git a/website/doctype/website_product_category/website_product_category.py b/website/doctype/website_product_category/website_product_category.py
deleted file mode 100644
index 928aa9f..0000000
--- a/website/doctype/website_product_category/website_product_category.py
+++ /dev/null
@@ -1,8 +0,0 @@
-# For license information, please see license.txt
-
-from __future__ import unicode_literals
-import webnotes
-
-class DocType:
- def __init__(self, d, dl):
- self.doc, self.doclist = d, dl
\ No newline at end of file
diff --git a/website/doctype/website_product_category/website_product_category.txt b/website/doctype/website_product_category/website_product_category.txt
deleted file mode 100644
index d0b3db8..0000000
--- a/website/doctype/website_product_category/website_product_category.txt
+++ /dev/null
@@ -1,43 +0,0 @@
-[
- {
- "creation": "2013-02-22 01:28:09",
- "docstatus": 0,
- "modified": "2013-03-07 07:03:34",
- "modified_by": "Administrator",
- "owner": "Administrator"
- },
- {
- "description": "Product Category for website",
- "doctype": "DocType",
- "document_type": "Transaction",
- "istable": 1,
- "module": "Website",
- "name": "__common__"
- },
- {
- "doctype": "DocField",
- "name": "__common__",
- "parent": "Website Product Category",
- "parentfield": "fields",
- "parenttype": "DocType",
- "permlevel": 0
- },
- {
- "doctype": "DocType",
- "name": "Website Product Category"
- },
- {
- "doctype": "DocField",
- "fieldname": "item_group",
- "fieldtype": "Link",
- "label": "Item Group",
- "options": "Item Group"
- },
- {
- "doctype": "DocField",
- "fieldname": "indent",
- "fieldtype": "Select",
- "label": "Indent",
- "options": "0\n1\n2\n3\n4\n5"
- }
-]
\ No newline at end of file
diff --git a/website/doctype/website_script/README.md b/website/doctype/website_script/README.md
new file mode 100644
index 0000000..65af2a1
--- /dev/null
+++ b/website/doctype/website_script/README.md
@@ -0,0 +1 @@
+Custom javascript to be appended at the end of the page. Used to include 3rd party tracking / analytics tools.
\ No newline at end of file
diff --git a/website/doctype/website_settings/README.md b/website/doctype/website_settings/README.md
new file mode 100644
index 0000000..8e654fc
--- /dev/null
+++ b/website/doctype/website_settings/README.md
@@ -0,0 +1 @@
+Overall website settings. Including banners, items appearing in the top and bottom menus, tracking code for Google Analytics etc.
\ No newline at end of file
diff --git a/website/doctype/website_slideshow/README.md b/website/doctype/website_slideshow/README.md
new file mode 100644
index 0000000..e6afaed
--- /dev/null
+++ b/website/doctype/website_slideshow/README.md
@@ -0,0 +1 @@
+Image slide show for Web Page, Product (Item) page, Item Group page.
\ No newline at end of file
diff --git a/website/doctype/website_slideshow_item/README.md b/website/doctype/website_slideshow_item/README.md
new file mode 100644
index 0000000..2f52d24
--- /dev/null
+++ b/website/doctype/website_slideshow_item/README.md
@@ -0,0 +1 @@
+Slide (image) details for Website Slideshow.
\ No newline at end of file
diff --git a/website/page/unsubscribe/unsubscribe.py b/website/page/unsubscribe/unsubscribe.py
deleted file mode 100644
index 9e32fc7..0000000
--- a/website/page/unsubscribe/unsubscribe.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-from __future__ import unicode_literals
-import webnotes
-
-@webnotes.whitelist()
-def unsubscribe(arg):
- """unsubscribe from lists"""
- lists = [['Blog Subscriber', 'name']]
- for l in lists:
- webnotes.conn.sql("""delete from `tab%s` where %s=%s""" % (l[0], l[1], '%s'), arg)
-
- webnotes.msgprint('Unsubscribed!')
\ No newline at end of file