[ADD] float field digits handling
bzr revid: xmo@openerp.com-20130927113424-lt23wpzs7px7k6mc
This commit is contained in:
parent
c741c0eeb1
commit
e1f3f0566e
|
@ -464,9 +464,19 @@ class ir_fields_converter(orm.Model):
|
|||
"""
|
||||
return werkzeug.utils.escape(value), []
|
||||
|
||||
_html_from_char = _html_from_integer = _html_from_float = \
|
||||
_html_from_char = _html_from_integer = \
|
||||
_html_from_date = _html_from_datetime = _html_from_passthrough
|
||||
|
||||
def _html_from_float(self, cr, uid, model, column, value, context=None):
|
||||
width, precision = column.digits or (None, None)
|
||||
if precision is None:
|
||||
fmt = '{value}'
|
||||
else:
|
||||
fmt = '{value:.{precision}f}'
|
||||
|
||||
return werkzeug.utils.escape(
|
||||
fmt.format(value=value, width=width, precision=precision, )), []
|
||||
|
||||
def _html_from_text(self, cr, uid, model, column, value, context=None):
|
||||
"""
|
||||
Escapes the value and converts newlines to br. This is bullshit.
|
||||
|
|
|
@ -8,6 +8,7 @@ class test_model(orm.Model):
|
|||
'char': fields.char(),
|
||||
'integer': fields.integer(),
|
||||
'float': fields.float(),
|
||||
'numeric': fields.float(digits=(16, 2)),
|
||||
'many2one': fields.many2one('test_converter.test_model.sub'),
|
||||
'binary': fields.binary(),
|
||||
'date': fields.date(),
|
||||
|
|
|
@ -45,6 +45,25 @@ class TestHTMLExport(common.TransactionCase):
|
|||
self.assertEqual(value, "42.0")
|
||||
self.assertEqual(warnings, [])
|
||||
|
||||
value, warnings = converter(42.0100)
|
||||
self.assertEqual(value, "42.01")
|
||||
self.assertEqual(warnings, [])
|
||||
|
||||
value, warnings = converter(42.01234)
|
||||
self.assertEqual(value, "42.01234")
|
||||
self.assertEqual(warnings, [])
|
||||
|
||||
def test_numeric(self):
|
||||
converter = self.get_converter('numeric')
|
||||
|
||||
value, warnings = converter(42.0)
|
||||
self.assertEqual(value, '42.00')
|
||||
self.assertEqual(warnings, [])
|
||||
|
||||
value, warnings = converter(42.01234)
|
||||
self.assertEqual(value, '42.01')
|
||||
self.assertEqual(warnings, [])
|
||||
|
||||
def test_text(self):
|
||||
converter = self.get_converter('text')
|
||||
|
||||
|
|
Loading…
Reference in New Issue