summaryrefslogtreecommitdiff
path: root/addons/product/report
diff options
context:
space:
mode:
authorNicolas Martinelli <nim@odoo.com>2016-07-25 10:56:06 +0200
committerNicolas Martinelli <nim@odoo.com>2016-07-25 10:56:06 +0200
commitaa1c3946daa08bc948c0e423554c603aa8cc67a2 (patch)
tree69ab1d2357eafa9fc762dfa096abd249fe156145 /addons/product/report
parent84f9cdd1d9fb7c4e82469639a80e09437dfefec4 (diff)
[FIX] product: rounding in pricelist report
The pricelist report might show price incorrectly rounded. For example, a calculated price of 20.625 will be displayed as 20.62 in the report since `formatLang` does not apply a rounding but simply truncate the value. Fixes #12875
Diffstat (limited to 'addons/product/report')
-rw-r--r--addons/product/report/product_pricelist.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/addons/product/report/product_pricelist.py b/addons/product/report/product_pricelist.py
index cd7054aa1a3..6a49250734f 100644
--- a/addons/product/report/product_pricelist.py
+++ b/addons/product/report/product_pricelist.py
@@ -22,6 +22,7 @@
import time
from openerp.osv import osv
from openerp.report import report_sxw
+from openerp.tools import float_round
class product_pricelist(report_sxw.rml_parse):
@@ -106,10 +107,11 @@ class product_pricelist(report_sxw.rml_parse):
pricelist = self.pool.get('product.pricelist').browse(self.cr, self.uid, [pricelist_id], context=self.localcontext)[0]
price_dict = self.pool.get('product.pricelist').price_get(self.cr, self.uid, [pricelist_id], product_id, qty, context=self.localcontext)
if price_dict[pricelist_id]:
- price = self.formatLang(price_dict[pricelist_id], digits=sale_price_digits, currency_obj=pricelist.currency_id)
+ price = float_round(price_dict[pricelist_id], precision_digits=sale_price_digits)
else:
res = self.pool.get('product.product').read(self.cr, self.uid, [product_id])
- price = self.formatLang(res[0]['list_price'], digits=sale_price_digits, currency_obj=pricelist.currency_id)
+ price = float_round(res[0]['list_price'], precision_digits=sale_price_digits)
+ price = self.formatLang(price, digits=sale_price_digits, currency_obj=pricelist.currency_id)
return price