[ADD] apply currency's rounding to currency widget values

bzr revid: xmo@openerp.com-20131008064226-ry22z6w23d88szr8
This commit is contained in:
Xavier Morel 2013-10-08 08:42:26 +02:00
parent a6e4951886
commit 47fc0a1093
2 changed files with 22 additions and 1 deletions

View File

@ -554,6 +554,8 @@ class CurrencyConverter(osv.AbstractModel):
_inherit = 'ir.qweb.field'
def record_to_html(self, cr, uid, field_name, record, column, options):
Currency = self.pool['res.currency']
symbol_pre = symbol_post = space_pre = space_post = u''
currency = record[options['currency']]
if currency.position == 'before':
@ -566,7 +568,7 @@ class CurrencyConverter(osv.AbstractModel):
return u'{symbol_pre}{space_pre}' \
u'<span class="oe_currency_value">{0}</span>' \
u'{space_post}{symbol_post}'.format(
record[field_name],
Currency.round(cr, uid, currency, record[field_name]),
space_pre=space_pre,
symbol_pre=symbol_pre,
space_post=space_post,

View File

@ -132,6 +132,25 @@ class TestCurrencyExport(TestExport):
symbol=currency.symbol.encode('utf-8')
),)
def test_currency_precision(self):
""" Precision should be the currency's, not the float field's
"""
currency = self.create(self.Currency, name="Test", symbol=u"test",)
obj = self.create(self.Model, value=0.1234567, currency_id=currency.id)
converted = self.convert(obj)
self.assertEqual(
converted,
'<span data-oe-model="{obj._model._name}" data-oe-id="{obj.id}" '
'data-oe-field="value" data-oe-type="currency" '
'data-oe-translate="0" data-oe-expression="obj.value">'
'<span class="oe_currency_value">0.12</span>'
' {symbol}</span>'.format(
obj=obj,
symbol=currency.symbol.encode('utf-8')
),)
class TestTextExport(TestBasicExport):
def test_text(self):
converter = self.get_converter('text')