diff --git a/accounts/doctype/gl_entry/gl_entry.py b/accounts/doctype/gl_entry/gl_entry.py index 7a73b067565..9d7367ed2dd 100644 --- a/accounts/doctype/gl_entry/gl_entry.py +++ b/accounts/doctype/gl_entry/gl_entry.py @@ -135,17 +135,18 @@ def check_freezing_date(posting_date, adv_adj=False): def update_outstanding_amt(account, against_voucher_type, against_voucher, on_cancel=False): # get final outstanding amt - bal = flt(webnotes.conn.sql("""select sum(debit) - sum(credit) from `tabGL Entry` + bal = flt(webnotes.conn.sql("""select sum(ifnull(debit, 0)) - sum(ifnull(credit, 0)) + from `tabGL Entry` where against_voucher_type=%s and against_voucher=%s and account = %s""", (against_voucher_type, against_voucher, account))[0][0] or 0.0) if against_voucher_type == 'Purchase Invoice': bal = -bal elif against_voucher_type == "Journal Voucher": - against_voucher_amount = flt(webnotes.conn.sql("""select sum(debit) - sum(credit) + against_voucher_amount = flt(webnotes.conn.sql(""" + select sum(ifnull(debit, 0)) - sum(ifnull(credit, 0)) from `tabGL Entry` where voucher_type = 'Journal Voucher' and voucher_no = %s and account = %s""", (against_voucher, account))[0][0]) - bal = against_voucher_amount + bal if against_voucher_amount < 0: bal = -bal diff --git a/accounts/doctype/purchase_invoice/purchase_invoice.py b/accounts/doctype/purchase_invoice/purchase_invoice.py index d3c19cbe9d4..6b8a616a55d 100644 --- a/accounts/doctype/purchase_invoice/purchase_invoice.py +++ b/accounts/doctype/purchase_invoice/purchase_invoice.py @@ -456,12 +456,17 @@ class DocType(BuyingController): @webnotes.whitelist() def get_expense_account(doctype, txt, searchfield, start, page_len, filters): from controllers.queries import get_match_cond - + + # expense account can be any Debit account, + # but can also be a Liability account with account_type='Expense Account' in special circumstances. + # Hence the first condition is an "OR" return webnotes.conn.sql("""select tabAccount.name from `tabAccount` where (tabAccount.debit_or_credit="Debit" - or tabAccount.account_type = "Expense Account") + or tabAccount.account_type = "Expense Account") and tabAccount.group_or_ledger="Ledger" and tabAccount.docstatus!=2 + and ifnull(tabAccount.master_type, "")="" + and ifnull(tabAccount.master_name, "")="" and tabAccount.company = '%(company)s' and tabAccount.%(key)s LIKE '%(txt)s' %(mcond)s""" % {'company': filters['company'], 'key': searchfield, diff --git a/accounts/doctype/purchase_invoice/purchase_invoice.txt b/accounts/doctype/purchase_invoice/purchase_invoice.txt index 7f0a65d11f6..f98c14a23f3 100755 --- a/accounts/doctype/purchase_invoice/purchase_invoice.txt +++ b/accounts/doctype/purchase_invoice/purchase_invoice.txt @@ -2,7 +2,7 @@ { "creation": "2013-05-21 16:16:39", "docstatus": 0, - "modified": "2013-11-03 14:11:34", + "modified": "2013-11-05 23:09:38", "modified_by": "Administrator", "owner": "Administrator" }, @@ -85,7 +85,7 @@ "depends_on": "supplier", "doctype": "DocField", "fieldname": "supplier_name", - "fieldtype": "Text", + "fieldtype": "Data", "hidden": 0, "in_list_view": 1, "label": "Name", @@ -248,7 +248,6 @@ "read_only": 0 }, { - "depends_on": "buying_price_list", "doctype": "DocField", "fieldname": "price_list_currency", "fieldtype": "Link", @@ -258,7 +257,6 @@ "read_only": 1 }, { - "depends_on": "buying_price_list", "doctype": "DocField", "fieldname": "plc_conversion_rate", "fieldtype": "Float", @@ -320,7 +318,6 @@ "read_only": 1 }, { - "description": "Add / Edit Taxes and Charges", "doctype": "DocField", "fieldname": "taxes", "fieldtype": "Section Break", @@ -333,7 +330,7 @@ "doctype": "DocField", "fieldname": "purchase_other_charges", "fieldtype": "Link", - "label": "Purchase Taxes and Charges", + "label": "Tax Master", "oldfieldname": "purchase_other_charges", "oldfieldtype": "Link", "options": "Purchase Taxes and Charges Master", diff --git a/accounts/doctype/sales_invoice/sales_invoice.py b/accounts/doctype/sales_invoice/sales_invoice.py index cdae74eac49..e183590695a 100644 --- a/accounts/doctype/sales_invoice/sales_invoice.py +++ b/accounts/doctype/sales_invoice/sales_invoice.py @@ -897,11 +897,16 @@ def get_bank_cash_account(mode_of_payment): def get_income_account(doctype, txt, searchfield, start, page_len, filters): from controllers.queries import get_match_cond + # income account can be any Credit account, + # but can also be a Asset account with account_type='Income Account' in special circumstances. + # Hence the first condition is an "OR" return webnotes.conn.sql("""select tabAccount.name from `tabAccount` where (tabAccount.debit_or_credit="Credit" or tabAccount.account_type = "Income Account") and tabAccount.group_or_ledger="Ledger" - and tabAccount.docstatus!=2 + and tabAccount.docstatus!=2 + and ifnull(tabAccount.master_type, "")="" + and ifnull(tabAccount.master_name, "")="" and tabAccount.company = '%(company)s' and tabAccount.%(key)s LIKE '%(txt)s' %(mcond)s""" % {'company': filters['company'], 'key': searchfield, diff --git a/accounts/doctype/sales_taxes_and_charges_master/sales_taxes_and_charges_master.js b/accounts/doctype/sales_taxes_and_charges_master/sales_taxes_and_charges_master.js index 9841783f76d..3f64369a51c 100644 --- a/accounts/doctype/sales_taxes_and_charges_master/sales_taxes_and_charges_master.js +++ b/accounts/doctype/sales_taxes_and_charges_master/sales_taxes_and_charges_master.js @@ -7,7 +7,7 @@ wn.require("app/js/controllers/accounts.js"); cur_frm.cscript.onload = function(doc, cdt, cdn) { if(doc.doctype === "Sales Taxes and Charges Master") - erpnext.add_for_territory(); + erpnext.add_applicable_territory(); } cur_frm.cscript.refresh = function(doc, cdt, cdn) { diff --git a/accounts/doctype/sales_taxes_and_charges_master/sales_taxes_and_charges_master.txt b/accounts/doctype/sales_taxes_and_charges_master/sales_taxes_and_charges_master.txt index 20e40768bd7..cddf10ec850 100644 --- a/accounts/doctype/sales_taxes_and_charges_master/sales_taxes_and_charges_master.txt +++ b/accounts/doctype/sales_taxes_and_charges_master/sales_taxes_and_charges_master.txt @@ -2,7 +2,7 @@ { "creation": "2013-01-10 16:34:09", "docstatus": 0, - "modified": "2013-07-22 15:22:14", + "modified": "2013-10-31 19:25:09", "modified_by": "Administrator", "owner": "Administrator" }, @@ -94,7 +94,7 @@ "fieldname": "valid_for_territories", "fieldtype": "Table", "label": "Valid for Territories", - "options": "For Territory", + "options": "Applicable Territory", "reqd": 1 }, { diff --git a/accounts/doctype/sales_taxes_and_charges_master/test_sales_taxes_and_charges_master.py b/accounts/doctype/sales_taxes_and_charges_master/test_sales_taxes_and_charges_master.py index 74b0b4edb4f..7a013fbf481 100644 --- a/accounts/doctype/sales_taxes_and_charges_master/test_sales_taxes_and_charges_master.py +++ b/accounts/doctype/sales_taxes_and_charges_master/test_sales_taxes_and_charges_master.py @@ -25,7 +25,7 @@ test_records = [ "rate": 6.36, }, { - "doctype": "For Territory", + "doctype": "Applicable Territory", "parentfield": "valid_for_territories", "territory": "All Territories" } @@ -113,7 +113,7 @@ test_records = [ "row_id": 7 }, { - "doctype": "For Territory", + "doctype": "Applicable Territory", "parentfield": "valid_for_territories", "territory": "_Test Territory India" } @@ -141,7 +141,7 @@ test_records = [ "rate": 4, }, { - "doctype": "For Territory", + "doctype": "Applicable Territory", "parentfield": "valid_for_territories", "territory": "All Territories" } diff --git a/accounts/doctype/shipping_rule/shipping_rule.js b/accounts/doctype/shipping_rule/shipping_rule.js index 2aeb8ddcd35..2a0c4339965 100644 --- a/accounts/doctype/shipping_rule/shipping_rule.js +++ b/accounts/doctype/shipping_rule/shipping_rule.js @@ -3,6 +3,6 @@ $.extend(cur_frm.cscript, { onload: function() { - erpnext.add_for_territory(); + erpnext.add_applicable_territory(); } }); \ No newline at end of file diff --git a/accounts/doctype/shipping_rule/shipping_rule.txt b/accounts/doctype/shipping_rule/shipping_rule.txt index 43589b49a3c..27aaa70115f 100644 --- a/accounts/doctype/shipping_rule/shipping_rule.txt +++ b/accounts/doctype/shipping_rule/shipping_rule.txt @@ -2,7 +2,7 @@ { "creation": "2013-06-25 11:48:03", "docstatus": 0, - "modified": "2013-07-05 14:55:00", + "modified": "2013-10-31 19:24:50", "modified_by": "Administrator", "owner": "Administrator" }, @@ -87,7 +87,7 @@ "fieldname": "valid_for_territories", "fieldtype": "Table", "label": "Valid For Territories", - "options": "For Territory", + "options": "Applicable Territory", "reqd": 1 }, { diff --git a/accounts/doctype/shipping_rule/test_shipping_rule.py b/accounts/doctype/shipping_rule/test_shipping_rule.py index f85909e2c01..a9aa4c702e5 100644 --- a/accounts/doctype/shipping_rule/test_shipping_rule.py +++ b/accounts/doctype/shipping_rule/test_shipping_rule.py @@ -62,7 +62,7 @@ test_records = [ "shipping_amount": 0.0 }, { - "doctype": "For Territory", + "doctype": "Applicable Territory", "parentfield": "valid_for_territories", "territory": "_Test Territory" } diff --git a/accounts/page/general_ledger/general_ledger.js b/accounts/page/general_ledger/general_ledger.js index 93a23889bf0..dbc691b549a 100644 --- a/accounts/page/general_ledger/general_ledger.js +++ b/accounts/page/general_ledger/general_ledger.js @@ -24,7 +24,6 @@ erpnext.GeneralLedger = wn.views.GridReport.extend({ }); }, setup_columns: function() { - var DEFAULT_COMPANY_VALUE = wn._("Select Company..."); this.columns = [ {id: "posting_date", name: wn._("Posting Date"), field: "posting_date", width: 100, formatter: this.date_formatter}, @@ -55,9 +54,9 @@ erpnext.GeneralLedger = wn.views.GridReport.extend({ }, filters: [ - {fieldtype:"Select", label: wn._("Company"), link:"Company", default_value: DEFAULT_COMPANY_VALUE, + {fieldtype:"Select", label: wn._("Company"), link:"Company", default_value: wn._("Select Company..."), filter: function(val, item, opts) { - return item.company == val || val == DEFAULT_COMPANY_VALUE; + return item.company == val || val == opts.default_value; }}, {fieldtype:"Link", label: wn._("Account"), link:"Account", filter: function(val, item, opts, me) { diff --git a/accounts/report/item_wise_purchase_register/item_wise_purchase_register.py b/accounts/report/item_wise_purchase_register/item_wise_purchase_register.py index 1c3cef3115d..4f11a61cc3d 100644 --- a/accounts/report/item_wise_purchase_register/item_wise_purchase_register.py +++ b/accounts/report/item_wise_purchase_register/item_wise_purchase_register.py @@ -86,7 +86,7 @@ def get_tax_accounts(item_list, columns): item_wise_tax_detail = json.loads(item_wise_tax_detail) for item, tax_amount in item_wise_tax_detail.items(): item_tax.setdefault(parent, {}).setdefault(item, {})[account_head] = \ - flt(tax_amount[1]) + flt(tax_amount[1]) if isinstance(tax_amount, list) else flt(tax_amount) except ValueError: continue diff --git a/accounts/report/item_wise_sales_register/item_wise_sales_register.py b/accounts/report/item_wise_sales_register/item_wise_sales_register.py index 48bc463f14f..ce8e3c566b5 100644 --- a/accounts/report/item_wise_sales_register/item_wise_sales_register.py +++ b/accounts/report/item_wise_sales_register/item_wise_sales_register.py @@ -83,7 +83,7 @@ def get_tax_accounts(item_list, columns): item_wise_tax_detail = json.loads(item_wise_tax_detail) for item, tax_amount in item_wise_tax_detail.items(): item_tax.setdefault(parent, {}).setdefault(item, {})[account_head] = \ - flt(tax_amount[1]) + flt(tax_amount[1]) if isinstance(tax_amount, list) else flt(tax_amount) except ValueError: continue diff --git a/buying/doctype/purchase_common/purchase_common.js b/buying/doctype/purchase_common/purchase_common.js index 7e594e3a8e0..969c9be420c 100644 --- a/buying/doctype/purchase_common/purchase_common.js +++ b/buying/doctype/purchase_common/purchase_common.js @@ -425,15 +425,16 @@ erpnext.buying.BuyingController = erpnext.TransactionController.extend({ // toggle fields this.frm.toggle_display(["conversion_rate", "net_total", "grand_total", "in_words", "other_charges_added", "other_charges_deducted"], - this.frm.doc.currency != company_currency); - - this.frm.toggle_display(["plc_conversion_rate"], - this.frm.price_list_currency != company_currency); + this.frm.doc.currency !== company_currency); + this.frm.toggle_display(["plc_conversion_rate", "price_list_currency"], + this.frm.doc.price_list_currency !== company_currency); + // set labels $.each(field_label_map, function(fname, label) { me.frm.fields_dict[fname].set_label(label); }); + }, change_grid_labels: function(company_currency) { diff --git a/buying/doctype/purchase_order/purchase_order.txt b/buying/doctype/purchase_order/purchase_order.txt index 9536184bdf8..6a97eed8679 100644 --- a/buying/doctype/purchase_order/purchase_order.txt +++ b/buying/doctype/purchase_order/purchase_order.txt @@ -2,7 +2,7 @@ { "creation": "2013-05-21 16:16:39", "docstatus": 0, - "modified": "2013-11-03 14:14:10", + "modified": "2013-11-05 23:09:58", "modified_by": "Administrator", "owner": "Administrator" }, @@ -215,7 +215,6 @@ "print_hide": 1 }, { - "depends_on": "buying_price_list", "doctype": "DocField", "fieldname": "price_list_currency", "fieldtype": "Link", @@ -225,7 +224,6 @@ "read_only": 1 }, { - "depends_on": "buying_price_list", "doctype": "DocField", "fieldname": "plc_conversion_rate", "fieldtype": "Float", @@ -308,7 +306,7 @@ "doctype": "DocField", "fieldname": "purchase_other_charges", "fieldtype": "Link", - "label": "Purchase Taxes and Charges", + "label": "Tax Master", "no_copy": 0, "oldfieldname": "purchase_other_charges", "oldfieldtype": "Link", @@ -491,7 +489,7 @@ "doctype": "DocField", "fieldname": "terms", "fieldtype": "Text Editor", - "label": "Terms and Conditions1", + "label": "Terms and Conditions", "oldfieldname": "terms", "oldfieldtype": "Text Editor" }, @@ -607,14 +605,6 @@ "print_hide": 1, "report_hide": 1 }, - { - "doctype": "DocField", - "fieldname": "instructions", - "fieldtype": "Text", - "label": "Instructions", - "oldfieldname": "instructions", - "oldfieldtype": "Text" - }, { "doctype": "DocField", "fieldname": "column_break5", @@ -652,26 +642,6 @@ "print_hide": 1, "read_only": 1 }, - { - "doctype": "DocField", - "fieldname": "payment_terms", - "fieldtype": "Text", - "label": "Payment Terms", - "no_copy": 1, - "oldfieldname": "payment_terms", - "oldfieldtype": "Text", - "print_hide": 0 - }, - { - "doctype": "DocField", - "fieldname": "remarks", - "fieldtype": "Text", - "label": "Remarks", - "no_copy": 1, - "oldfieldname": "remarks", - "oldfieldtype": "Text", - "print_hide": 1 - }, { "description": "Required raw materials issued to the supplier for producing a sub - contracted item.", "doctype": "DocField", diff --git a/controllers/queries.py b/controllers/queries.py index ed44f9b02dd..5248cb2f7d5 100644 --- a/controllers/queries.py +++ b/controllers/queries.py @@ -117,21 +117,30 @@ def tax_account_query(doctype, txt, searchfield, start, page_len, filters): filters.get("company"), "%%%s%%" % txt, start, page_len])) def item_query(doctype, txt, searchfield, start, page_len, filters): + from webnotes.utils import nowdate + conditions = [] return webnotes.conn.sql("""select tabItem.name, if(length(tabItem.item_name) > 40, concat(substr(tabItem.item_name, 1, 40), "..."), item_name) as item_name, if(length(tabItem.description) > 40, \ - concat(substr(tabItem.description, 1, 40), "..."), description) as decription + concat(substr(tabItem.description, 1, 40), "..."), description) as decription from tabItem - where tabItem.docstatus<2 - and (tabItem.%(key)s LIKE "%(txt)s" - or tabItem.item_name LIKE "%(txt)s") - %(fcond)s %(mcond)s - limit %(start)s,%(page_len)s """ % {'key': searchfield, 'txt': "%%%s%%" % txt, - 'fcond': get_filters_cond(doctype, filters, conditions), - 'mcond': get_match_cond(doctype, searchfield), 'start': start, 'page_len': page_len}) + where tabItem.docstatus < 2 + and (ifnull(tabItem.end_of_life, '') = '' or tabItem.end_of_life > %(today)s) + and (tabItem.`{key}` LIKE %(txt)s + or tabItem.item_name LIKE %(txt)s) + {fcond} {mcond} + limit %(start)s, %(page_len)s """.format(key=searchfield, + fcond=get_filters_cond(doctype, filters, conditions), + mcond=get_match_cond(doctype, searchfield)), + { + "today": nowdate(), + "txt": "%%%s%%" % txt, + "start": start, + "page_len": page_len + }) def bom(doctype, txt, searchfield, start, page_len, filters): conditions = [] @@ -206,4 +215,4 @@ def get_batch_no(doctype, txt, searchfield, start, page_len, filters): limit %(start)s, %(page_len)s""" % {'item_code': filters['item_code'], 'posting_date': filters['posting_date'], 'txt': "%%%s%%" % txt, 'mcond':get_match_cond(doctype, searchfield),'start': start, - 'page_len': page_len}) \ No newline at end of file + 'page_len': page_len}) diff --git a/patches/1311/p01_cleanup.py b/patches/1311/p01_cleanup.py index 6c45aaeed95..cf7ae6e6ce2 100644 --- a/patches/1311/p01_cleanup.py +++ b/patches/1311/p01_cleanup.py @@ -1,6 +1,15 @@ import webnotes def execute(): - from core.doctype.custom_field.custom_field import delete_and_create_custom_field_if_values_exist - delete_and_create_custom_field_if_values_exist("Material Request", - {"fieldtype":"Text", "fieldname":"remark", "label":"Remarks","insert_after":"Fiscal Year"}) \ No newline at end of file + from core.doctype.custom_field.custom_field import create_custom_field_if_values_exist + create_custom_field_if_values_exist("Material Request", + {"fieldtype":"Text", "fieldname":"remark", "label":"Remarks","insert_after":"Fiscal Year"}) + create_custom_field_if_values_exist("Purchase Order", + {"fieldtype":"Text", "fieldname":"instructions", "label":"Instructions","insert_after":"% Billed"}) + create_custom_field_if_values_exist("Purchase Order", + {"fieldtype":"Text", "fieldname":"remarks", "label":"Remarks","insert_after":"% Billed"}) + create_custom_field_if_values_exist("Purchase Order", + {"fieldtype":"Text", "fieldname":"payment_terms", "label":"Payment Terms","insert_after":"Print Heading"}) + create_custom_field_if_values_exist("Lead", + {"fieldtype":"Text", "fieldname":"remark", "label":"Remark","insert_after":"Territory"}) + \ No newline at end of file diff --git a/patches/august_2013/p02_rename_price_list.py b/patches/august_2013/p02_rename_price_list.py index 0a1929925ba..dbe268f0adf 100644 --- a/patches/august_2013/p02_rename_price_list.py +++ b/patches/august_2013/p02_rename_price_list.py @@ -6,7 +6,7 @@ import webnotes def execute(): webnotes.reload_doc("selling", "doctype", "shopping_cart_price_list") - webnotes.reload_doc("setup", "doctype", "item_price") + webnotes.reload_doc("stock", "doctype", "item_price") for t in [ ("Supplier Quotation", "price_list_name", "buying_price_list"), diff --git a/patches/june_2013/p03_buying_selling_for_price_list.py b/patches/june_2013/p03_buying_selling_for_price_list.py index ead97ab2a81..61cddd0b287 100644 --- a/patches/june_2013/p03_buying_selling_for_price_list.py +++ b/patches/june_2013/p03_buying_selling_for_price_list.py @@ -7,8 +7,8 @@ from webnotes.utils import cint import MySQLdb def execute(): - webnotes.reload_doc("setup", "doctype", "price_list") - webnotes.reload_doc("setup", "doctype", "item_price") + webnotes.reload_doc("stock", "doctype", "price_list") + webnotes.reload_doc("stock", "doctype", "item_price") try: for price_list in webnotes.conn.sql_list("""select name from `tabPrice List`"""): diff --git a/patches/june_2013/p07_taxes_price_list_for_territory.py b/patches/june_2013/p07_taxes_price_list_for_territory.py index f57ecf81736..f6663bf6af0 100644 --- a/patches/june_2013/p07_taxes_price_list_for_territory.py +++ b/patches/june_2013/p07_taxes_price_list_for_territory.py @@ -4,8 +4,8 @@ import webnotes def execute(): - webnotes.reload_doc("setup", "doctype", "for_territory") - webnotes.reload_doc("setup", "doctype", "price_list") + webnotes.reload_doc("setup", "doctype", "applicable_territory") + webnotes.reload_doc("stock", "doctype", "price_list") webnotes.reload_doc("accounts", "doctype", "sales_taxes_and_charges_master") webnotes.reload_doc("accounts", "doctype", "shipping_rule") @@ -14,12 +14,12 @@ def execute(): for parenttype in ["Sales Taxes and Charges Master", "Price List", "Shipping Rule"]: for name in webnotes.conn.sql_list("""select name from `tab%s` main - where not exists (select parent from `tabFor Territory` territory + where not exists (select parent from `tabApplicable Territory` territory where territory.parenttype=%s and territory.parent=main.name)""" % \ (parenttype, "%s"), (parenttype,)): doc = webnotes.doc({ - "doctype": "For Territory", + "doctype": "Applicable Territory", "__islocal": 1, "parenttype": parenttype, "parentfield": "valid_for_territories", diff --git a/patches/october_2013/p02_update_price_list_and_item_details_in_item_price.py b/patches/october_2013/p02_update_price_list_and_item_details_in_item_price.py index 209ebf35748..4a90b8c634b 100644 --- a/patches/october_2013/p02_update_price_list_and_item_details_in_item_price.py +++ b/patches/october_2013/p02_update_price_list_and_item_details_in_item_price.py @@ -5,7 +5,7 @@ from __future__ import unicode_literals import webnotes def execute(): - webnotes.reload_doc("setup", "doctype", "item_price") + webnotes.reload_doc("stock", "doctype", "item_price") webnotes.conn.sql("""update `tabItem Price` ip, `tabItem` i set ip.item_name=i.item_name, ip.item_description=i.description diff --git a/patches/october_2013/p07_rename_for_territory.py b/patches/october_2013/p07_rename_for_territory.py new file mode 100644 index 00000000000..96c72f3bf56 --- /dev/null +++ b/patches/october_2013/p07_rename_for_territory.py @@ -0,0 +1,24 @@ +# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. +# License: GNU General Public License v3. See license.txt + +from __future__ import unicode_literals +import webnotes, os + +def execute(): + from webnotes.utils import get_base_path + import shutil + webnotes.reload_doc("core", "doctype", "doctype") + + tables = webnotes.conn.sql_list("show tables") + + if "tabApplicable Territory" not in tables: + webnotes.rename_doc("DocType", "For Territory", "Applicable Territory", force=True) + + webnotes.reload_doc("setup", "doctype", "applicable_territory") + + path = os.path.join(get_base_path(), "app", "setup", "doctype", "for_territory") + if os.path.exists(path): + shutil.rmtree(path) + + if webnotes.conn.exists("DocType", "For Territory"): + webnotes.delete_doc("DocType", "For Territory") diff --git a/patches/october_2013/p08_cleanup_after_item_price_module_change.py b/patches/october_2013/p08_cleanup_after_item_price_module_change.py new file mode 100644 index 00000000000..ba0ab8d389d --- /dev/null +++ b/patches/october_2013/p08_cleanup_after_item_price_module_change.py @@ -0,0 +1,14 @@ +# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. +# License: GNU General Public License v3. See license.txt + +from __future__ import unicode_literals +import webnotes, os + +def execute(): + import shutil + from webnotes.utils import get_base_path + + for dt in ("item_price", "price_list"): + path = os.path.join(get_base_path(), "app", "setup", "doctype", dt) + if os.path.exists(path): + shutil.rmtree(path) diff --git a/patches/patch_list.py b/patches/patch_list.py index 63f06f7232f..1581841872d 100644 --- a/patches/patch_list.py +++ b/patches/patch_list.py @@ -161,7 +161,6 @@ patch_list = [ "execute:webnotes.delete_doc('Report', 'Sales Orders Pending To Be Delivered')", "patches.june_2013.p05_remove_unused_doctypes", "patches.june_2013.p06_drop_unused_tables", - "patches.june_2013.p07_taxes_price_list_for_territory", "patches.june_2013.p08_shopping_cart_settings", "patches.june_2013.p09_update_global_defaults", "patches.june_2013.p10_lead_address", @@ -235,4 +234,7 @@ patch_list = [ "patches.october_2013.p04_update_report_permission", "patches.october_2013.p05_delete_gl_entries_for_cancelled_vouchers", "patches.october_2013.p06_update_control_panel_and_global_defaults", + "patches.october_2013.p07_rename_for_territory", + "patches.june_2013.p07_taxes_price_list_for_territory", + "patches.october_2013.p08_cleanup_after_item_price_module_change", ] \ No newline at end of file diff --git a/patches/september_2013/p03_modify_item_price_include_in_price_list.py b/patches/september_2013/p03_modify_item_price_include_in_price_list.py index 8ca6d76f9c8..2400918473d 100644 --- a/patches/september_2013/p03_modify_item_price_include_in_price_list.py +++ b/patches/september_2013/p03_modify_item_price_include_in_price_list.py @@ -5,8 +5,8 @@ from __future__ import unicode_literals import webnotes def execute(): - webnotes.reload_doc("setup", "doctype", "price_list") - webnotes.reload_doc("setup", "doctype", "item_price") + webnotes.reload_doc("stock", "doctype", "price_list") + webnotes.reload_doc("stock", "doctype", "item_price") webnotes.reload_doc("stock", "doctype", "item") webnotes.conn.sql("""update `tabItem Price` set parenttype='Price List', diff --git a/public/js/utils.js b/public/js/utils.js index 2e5eea515b6..227aa32676e 100644 --- a/public/js/utils.js +++ b/public/js/utils.js @@ -28,10 +28,10 @@ $.extend(erpnext, { } }, - add_for_territory: function() { + add_applicable_territory: function() { if(cur_frm.doc.__islocal && wn.model.get_doclist(cur_frm.doc.doctype, cur_frm.doc.name).length === 1) { - var territory = wn.model.add_child(cur_frm.doc, "For Territory", + var territory = wn.model.add_child(cur_frm.doc, "Applicable Territory", "valid_for_territories"); territory.territory = wn.defaults.get_default("territory"); } diff --git a/selling/doctype/lead/lead.js b/selling/doctype/lead/lead.js index 9f6412cfd17..d65338fe815 100644 --- a/selling/doctype/lead/lead.js +++ b/selling/doctype/lead/lead.js @@ -23,8 +23,7 @@ erpnext.LeadController = wn.ui.form.Controller.extend({ } if(in_list(user_roles,'System Manager')) { - cur_frm.footer.help_area.innerHTML = '
'+wn._('Sales Email Settings')+'
\
+ cur_frm.footer.help_area.innerHTML = '
'+wn._('Sales Email Settings')+'
\
'+wn._('Automatically extract Leads from a mail box e.g.')+' "sales@example.com"