From e961af40fce50feef9943120cfa0f57ee6ec0817 Mon Sep 17 00:00:00 2001 From: Anand Doshi Date: Fri, 31 May 2013 14:30:46 +0530 Subject: [PATCH] [transaction] [fix] fix in purchase transactions --- buying/doctype/purchase_common/purchase_common.js | 9 ++++++--- utilities/transaction_base.py | 6 ++++-- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/buying/doctype/purchase_common/purchase_common.js b/buying/doctype/purchase_common/purchase_common.js index f0f38671f5..1bb64e592c 100644 --- a/buying/doctype/purchase_common/purchase_common.js +++ b/buying/doctype/purchase_common/purchase_common.js @@ -224,8 +224,9 @@ erpnext.buying.BuyingController = erpnext.TransactionController.extend({ var me = this; if(this.frm.doc.doctype != "Purchase Invoice") { - wn.meta.docfield_map[this.tname]["rate"] = $.extend({}, - wn.meta.docfield_map[this.tname]["purchase_rate"]); + // hack! + wn.meta.docfield_copy[this.tname][this.frm.doc.name]["rate"] = $.extend({}, + wn.meta.docfield_copy[this.tname][this.frm.doc.name]["purchase_rate"]); } $.each(this.frm.item_doclist, function(i, item) { @@ -241,6 +242,7 @@ erpnext.buying.BuyingController = erpnext.TransactionController.extend({ me._set_in_company_currency(item, "import_rate", "rate"); me._set_in_company_currency(item, "import_amount", "amount"); }); + }, calculate_net_total: function() { @@ -299,7 +301,8 @@ erpnext.buying.BuyingController = erpnext.TransactionController.extend({ // except in purchase invoice, rate field is purchase_rate // reset fieldname of rate if(this.frm.doc.doctype != "Purchase Invoice") { - delete wn.meta.docfield_map[this.tname]["rate"]; + // clear hack + delete wn.meta.docfield_copy[this.tname][this.frm.doc.name]["rate"]; $.each(this.frm.item_doclist, function(i, item) { item.purchase_rate = item.rate; diff --git a/utilities/transaction_base.py b/utilities/transaction_base.py index 5b716fcc53..357121508f 100644 --- a/utilities/transaction_base.py +++ b/utilities/transaction_base.py @@ -310,7 +310,8 @@ def validate_currency(args, item, meta=None): # round it args.conversion_rate = flt(args.conversion_rate, - get_field_precision(meta.get_field("conversion_rate"), args)) + get_field_precision(meta.get_field("conversion_rate"), + webnotes._dict({"fields": args}))) # validate price list conversion rate if meta.get_field("price_list_currency") and args.price_list_name and \ @@ -320,6 +321,7 @@ def validate_currency(args, item, meta=None): # round it args.plc_conversion_rate = flt(args.plc_conversion_rate, - get_field_precision(meta.get_field("plc_conversion_rate"), args)) + get_field_precision(meta.get_field("plc_conversion_rate"), + webnotes._dict({"fields": args}))) \ No newline at end of file