[ADD] apply currency's rounding to currency widget values
bzr revid: xmo@openerp.com-20131008064226-ry22z6w23d88szr8
This commit is contained in:
parent
a6e4951886
commit
47fc0a1093
|
@ -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,
|
||||
|
|
|
@ -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')
|
||||
|
|
Loading…
Reference in New Issue