From 761a7a8e7cdeaff37e94a1760bd71583788dbfb8 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Thu, 28 Apr 2016 17:33:49 +0530 Subject: [PATCH] [fix] On rename update item code in item_wise_tax_detail json in tax table --- erpnext/stock/doctype/item/item.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/erpnext/stock/doctype/item/item.py b/erpnext/stock/doctype/item/item.py index f18bc8bbe9..e26aaa7089 100644 --- a/erpnext/stock/doctype/item/item.py +++ b/erpnext/stock/doctype/item/item.py @@ -463,9 +463,22 @@ class Item(WebsiteGenerator): clear_cache(self.page_name) frappe.db.set_value("Item", newdn, "item_code", newdn) + if merge: self.set_last_purchase_rate(newdn) self.recalculate_bin_qty(newdn) + + for dt in ("Sales Taxes and Charges", "Purchase Taxes and Charges"): + for d in frappe.db.sql("""select name, item_wise_tax_detail from `tab{0}` + where ifnull(item_wise_tax_detail, '') != ''""".format(dt), as_dict=1): + + item_wise_tax_detail = json.loads(d.item_wise_tax_detail) + if olddn in item_wise_tax_detail: + item_wise_tax_detail[newdn] = item_wise_tax_detail[olddn] + item_wise_tax_detail.pop(olddn) + + frappe.db.set_value(dt, d.name, "item_wise_tax_detail", + json.dumps(item_wise_tax_detail), update_modified=False) def set_last_purchase_rate(self, newdn): last_purchase_rate = get_last_purchase_details(newdn).get("base_rate", 0) @@ -562,7 +575,8 @@ class Item(WebsiteGenerator): variant = get_variant(self.variant_of, args, self.name) if variant: frappe.throw(_("Item variant {0} exists with same attributes") - .format(variant), ItemVariantExistsError) + .format(variant), ItemVariantExistsError) + def validate_end_of_life(item_code, end_of_life=None, disabled=None, verbose=1): if (not end_of_life) or (disabled is None):