From a98bd8712246c442fe3d69b541e7cf755eaa3b68 Mon Sep 17 00:00:00 2001 From: "Ravish (Open ERP)" Date: Mon, 14 Oct 2013 15:37:46 +0530 Subject: [PATCH] [FIX] unit_price should be on other_pricelist bzr revid: rmu@tinyerp.com-20131014100746-inm1snk2hgdc7i98 --- .../product_visible_discount.py | 24 +++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/addons/product_visible_discount/product_visible_discount.py b/addons/product_visible_discount/product_visible_discount.py index 6ca9b00a57c..563027b52be 100644 --- a/addons/product_visible_discount/product_visible_discount.py +++ b/addons/product_visible_discount/product_visible_discount.py @@ -87,12 +87,14 @@ class sale_order_line(osv.osv): pricelists = pricelist_obj.read(cr,uid,[pricelist],['visible_discount']) new_list_price = get_real_price(list_price, product.id, qty, uom, pricelist) - if(len(pricelists)>0 and pricelists[0]['visible_discount'] and list_price[pricelist] != 0): - discount = (new_list_price - price) / new_list_price * 100 - result['price_unit'] = new_list_price - result['discount'] = discount - else: + if (price/new_list_price > 0): result['discount'] = 0.0 + result['price_unit'] = price + else: + if(len(pricelists)>0 and pricelists[0]['visible_discount'] and list_price[pricelist] != 0): + discount= (price/new_list_price) + result['price_unit'] = new_list_price + result['discount'] = discount return res sale_order_line() @@ -153,12 +155,14 @@ class account_invoice_line(osv.osv): real_price = get_real_price(price_unit_res, product.id, qty, uom_id, pricelist) if pricelist: pricelists=pricelist_obj.read(cr,uid,[pricelist],['visible_discount']) - if(len(pricelists)>0 and pricelists[0]['visible_discount'] and real_price != 0): - discount=(real_price-price_unit) / real_price * 100 - result['price_unit'] = real_price - result['discount'] = discount + if (price_unit/real_price > 0): + result['discount'] = 0.0 + result['price_unit'] = price_unit else: - result['discount']=0.0 + if(len(pricelists)>0 and pricelists[0]['visible_discount'] and real_price != 0): + discount= (price_unit/real_price) + result['price_unit'] = real_price + result['discount'] = discount return res account_invoice_line()