From d37d4dfdece29c04c529d7ea978aaa174d06e760 Mon Sep 17 00:00:00 2001 From: Anand Doshi Date: Thu, 24 Sep 2015 15:42:21 +0530 Subject: [PATCH 1/4] [fix] applicable territory patch and tax rule tests --- .../doctype/tax_rule/test_tax_rule.py | 73 ++++++++----------- .../v6_3/convert_applicable_territory.py | 1 + 2 files changed, 32 insertions(+), 42 deletions(-) diff --git a/erpnext/accounts/doctype/tax_rule/test_tax_rule.py b/erpnext/accounts/doctype/tax_rule/test_tax_rule.py index 3e175fabf7d..a09d81b5c67 100644 --- a/erpnext/accounts/doctype/tax_rule/test_tax_rule.py +++ b/erpnext/accounts/doctype/tax_rule/test_tax_rule.py @@ -12,25 +12,15 @@ test_records = frappe.get_test_records('Tax Rule') class TestTaxRule(unittest.TestCase): def setUp(self): frappe.db.sql("delete from `tabTax Rule` where use_for_shopping_cart <> 1") - - def test_customer_group(self): - tax_rule = make_tax_rule(customer= "_Test Customer", customer_group= "_Test Customer Group 1", - sales_tax_template = "_Test Sales Taxes and Charges Template") - self.assertRaises(IncorrectCustomerGroup, tax_rule.save) - - def test_supplier_type(self): - tax_rule = make_tax_rule(tax_type= "Purchase", supplier= "_Test Supplier", supplier_type= "_Test Supplier Type 1", - purchase_tax_template = "_Test Purchase Taxes and Charges Template") - self.assertRaises(IncorrectSupplierType, tax_rule.save) - - def test_conflict(self): + + def test_conflict(self): tax_rule1 = make_tax_rule(customer= "_Test Customer", sales_tax_template = "_Test Sales Taxes and Charges Template", priority = 1) tax_rule1.save() tax_rule2 = make_tax_rule(customer= "_Test Customer", sales_tax_template = "_Test Sales Taxes and Charges Template", priority = 1) - + self.assertRaises(ConflictingTaxRule, tax_rule2.save) def test_conflict_with_non_overlapping_dates(self): @@ -40,25 +30,25 @@ class TestTaxRule(unittest.TestCase): tax_rule2 = make_tax_rule(customer= "_Test Customer", sales_tax_template = "_Test Sales Taxes and Charges Template", priority = 1, to_date = "2013-01-01") - + tax_rule2.save() self.assertTrue(tax_rule2.name) - def test_conflict_with_overlapping_dates(self): + def test_conflict_with_overlapping_dates(self): tax_rule1 = make_tax_rule(customer= "_Test Customer", sales_tax_template = "_Test Sales Taxes and Charges Template", priority = 1, from_date = "2015-01-01", to_date = "2015-01-05") tax_rule1.save() tax_rule2 = make_tax_rule(customer= "_Test Customer", sales_tax_template = "_Test Sales Taxes and Charges Template", priority = 1, from_date = "2015-01-03", to_date = "2015-01-09") - + self.assertRaises(ConflictingTaxRule, tax_rule2.save) - + def test_tax_template(self): tax_rule = make_tax_rule() self.assertEquals(tax_rule.purchase_tax_template, None) - - + + def test_select_tax_rule_based_on_customer(self): make_tax_rule(customer= "_Test Customer", sales_tax_template = "_Test Sales Taxes and Charges Template", save=1) @@ -68,8 +58,8 @@ class TestTaxRule(unittest.TestCase): make_tax_rule(customer= "_Test Customer 2", sales_tax_template = "_Test Sales Taxes and Charges Template 2", save=1) - - self.assertEquals(get_tax_template("2015-01-01", {"customer":"_Test Customer 2"}), + + self.assertEquals(get_tax_template("2015-01-01", {"customer":"_Test Customer 2"}), "_Test Sales Taxes and Charges Template 2") def test_select_tax_rule_based_on_better_match(self): @@ -78,18 +68,18 @@ class TestTaxRule(unittest.TestCase): make_tax_rule(customer= "_Test Customer", billing_city = "Test City1", billing_state = "Test State", sales_tax_template = "_Test Sales Taxes and Charges Template 1", save=1) - - self.assertEquals(get_tax_template("2015-01-01", {"customer":"_Test Customer", "billing_city": "Test City", "billing_state": "Test State"}), + + self.assertEquals(get_tax_template("2015-01-01", {"customer":"_Test Customer", "billing_city": "Test City", "billing_state": "Test State"}), "_Test Sales Taxes and Charges Template") - + def test_select_tax_rule_based_on_state_match(self): - make_tax_rule(customer= "_Test Customer", shipping_state = "Test State", + make_tax_rule(customer= "_Test Customer", shipping_state = "Test State", sales_tax_template = "_Test Sales Taxes and Charges Template", save=1) - make_tax_rule(customer= "_Test Customer", shipping_state = "Test State12", + make_tax_rule(customer= "_Test Customer", shipping_state = "Test State12", sales_tax_template = "_Test Sales Taxes and Charges Template 1", priority=2, save=1) - - self.assertEquals(get_tax_template("2015-01-01", {"customer":"_Test Customer", "shipping_state": "Test State"}), + + self.assertEquals(get_tax_template("2015-01-01", {"customer":"_Test Customer", "shipping_state": "Test State"}), "_Test Sales Taxes and Charges Template") def test_select_tax_rule_based_on_better_priority(self): @@ -98,18 +88,18 @@ class TestTaxRule(unittest.TestCase): make_tax_rule(customer= "_Test Customer", billing_city = "Test City", sales_tax_template = "_Test Sales Taxes and Charges Template 1", priority=2, save=1) - - self.assertEquals(get_tax_template("2015-01-01", {"customer":"_Test Customer", "billing_city": "Test City"}), + + self.assertEquals(get_tax_template("2015-01-01", {"customer":"_Test Customer", "billing_city": "Test City"}), "_Test Sales Taxes and Charges Template 1") def test_select_tax_rule_based_cross_matching_keys(self): - make_tax_rule(customer= "_Test Customer", billing_city = "Test City", + make_tax_rule(customer= "_Test Customer", billing_city = "Test City", sales_tax_template = "_Test Sales Taxes and Charges Template", save=1) make_tax_rule(customer= "_Test Customer 1", billing_city = "Test City 1", sales_tax_template = "_Test Sales Taxes and Charges Template 1", save=1) - - self.assertEquals(get_tax_template("2015-01-01", {"customer":"_Test Customer", "billing_city": "Test City 1"}), + + self.assertEquals(get_tax_template("2015-01-01", {"customer":"_Test Customer", "billing_city": "Test City 1"}), None) def test_select_tax_rule_based_cross_partially_keys(self): @@ -118,24 +108,23 @@ class TestTaxRule(unittest.TestCase): make_tax_rule(billing_city = "Test City 1", sales_tax_template = "_Test Sales Taxes and Charges Template 1", save=1) - - self.assertEquals(get_tax_template("2015-01-01", {"customer":"_Test Customer", "billing_city": "Test City 1"}), + + self.assertEquals(get_tax_template("2015-01-01", {"customer":"_Test Customer", "billing_city": "Test City 1"}), "_Test Sales Taxes and Charges Template 1") - + def make_tax_rule(**args): args = frappe._dict(args) - + tax_rule = frappe.new_doc("Tax Rule") - + for key, val in args.iteritems(): if key != "save": tax_rule.set(key, val) - + tax_rule.company = args.company or "_Test Company" - + if args.save: tax_rule.insert() - + return tax_rule - \ No newline at end of file diff --git a/erpnext/patches/v6_3/convert_applicable_territory.py b/erpnext/patches/v6_3/convert_applicable_territory.py index b693ce5c3f5..69ec18fd84b 100644 --- a/erpnext/patches/v6_3/convert_applicable_territory.py +++ b/erpnext/patches/v6_3/convert_applicable_territory.py @@ -5,6 +5,7 @@ def execute(): frappe.reload_doc("accounts", "doctype", "shipping_rule_country") frappe.reload_doctype("Price List") frappe.reload_doctype("Shipping Rule") + frappe.reload_doctype("Shopping Cart Settings") # for price list countries = frappe.db.sql_list("select name from tabCountry") From aea250bc5a4a43798549c46e4c7ee60e7eb2dd5a Mon Sep 17 00:00:00 2001 From: Anand Doshi Date: Thu, 24 Sep 2015 16:31:36 +0530 Subject: [PATCH 2/4] [fix] [patch] fix missing default lead --- .../patches/v6_2/fix_missing_default_taxes_and_lead.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/erpnext/patches/v6_2/fix_missing_default_taxes_and_lead.py b/erpnext/patches/v6_2/fix_missing_default_taxes_and_lead.py index 9c16f637987..b0cfc3d3bf9 100644 --- a/erpnext/patches/v6_2/fix_missing_default_taxes_and_lead.py +++ b/erpnext/patches/v6_2/fix_missing_default_taxes_and_lead.py @@ -2,6 +2,11 @@ from __future__ import unicode_literals import frappe def execute(): + # remove missing lead + for customer in frappe.db.sql_list("""select name from `tabCustomer` + where ifnull(lead_name, '')!='' and not exists (select name from `tabLead` where name=`tabCustomer`.lead_name)"""): + frappe.db.set_value("Customer", customer, "lead_name", None) + # remove missing default taxes for customer in frappe.db.sql_list("""select name from `tabCustomer` where ifnull(default_taxes_and_charges, '')!='' and not exists ( @@ -18,8 +23,3 @@ def execute(): c = frappe.get_doc("Supplier", supplier) c.default_taxes_and_charges = None c.save() - - # remove missing lead - for customer in frappe.db.sql_list("""select name from `tabCustomer` - where ifnull(lead_name, '')!='' and not exists (select name from `tabLead` where name=`tabCustomer`.lead_name)"""): - frappe.db.set_value("Customer", customer, "lead_name", None) From 3297c43bdf20b1c10a474586ac23c79368ae8c2d Mon Sep 17 00:00:00 2001 From: Anand Doshi Date: Thu, 24 Sep 2015 17:29:28 +0530 Subject: [PATCH 3/4] [fix] Tax Rule permission to Account Manager --- erpnext/accounts/doctype/tax_rule/tax_rule.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/erpnext/accounts/doctype/tax_rule/tax_rule.json b/erpnext/accounts/doctype/tax_rule/tax_rule.json index 60011dd9a3d..a327c217c69 100644 --- a/erpnext/accounts/doctype/tax_rule/tax_rule.json +++ b/erpnext/accounts/doctype/tax_rule/tax_rule.json @@ -580,7 +580,7 @@ "is_submittable": 0, "issingle": 0, "istable": 0, - "modified": "2015-09-15 12:29:34.435839", + "modified": "2015-09-24 07:59:06.502058", "modified_by": "Administrator", "module": "Accounts", "name": "Tax Rule", @@ -601,7 +601,7 @@ "print": 1, "read": 1, "report": 1, - "role": "Administrator", + "role": "Accounts Manager", "set_user_permissions": 0, "share": 1, "submit": 0, From f723032fd7d37fe64f20636a0ec9d3dbbb7a0ef0 Mon Sep 17 00:00:00 2001 From: Anand Doshi Date: Thu, 24 Sep 2015 18:01:11 +0600 Subject: [PATCH 4/4] bumped to version 6.3.2 --- erpnext/__version__.py | 2 +- erpnext/hooks.py | 2 +- setup.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/erpnext/__version__.py b/erpnext/__version__.py index 2a74e2987ed..feb367b7b54 100644 --- a/erpnext/__version__.py +++ b/erpnext/__version__.py @@ -1,2 +1,2 @@ from __future__ import unicode_literals -__version__ = '6.3.1' +__version__ = '6.3.2' diff --git a/erpnext/hooks.py b/erpnext/hooks.py index e5e3903980f..205369410bb 100644 --- a/erpnext/hooks.py +++ b/erpnext/hooks.py @@ -29,7 +29,7 @@ blogs. """ app_icon = "icon-th" app_color = "#e74c3c" -app_version = "6.3.1" +app_version = "6.3.2" github_link = "https://github.com/frappe/erpnext" error_report_email = "support@erpnext.com" diff --git a/setup.py b/setup.py index a6c21646079..f2827d20733 100644 --- a/setup.py +++ b/setup.py @@ -1,6 +1,6 @@ from setuptools import setup, find_packages -version = "6.3.1" +version = "6.3.2" with open("requirements.txt", "r") as f: install_requires = f.readlines()