[FIX] formatting of float_time fields

lp bug: https://launchpad.net/bugs/928220 fixed

bzr revid: xmo@openerp.com-20120208135655-79qnr5tl6admxr1e
This commit is contained in:
Xavier Morel 2012-02-08 14:56:55 +01:00
parent 301afd4baa
commit 9cc531505f
2 changed files with 15 additions and 1 deletions

View File

@ -101,7 +101,12 @@ openerp.web.format_value = function (value, descriptor, value_if_empty) {
formatted[0] = openerp.web.insert_thousand_seps(formatted[0]);
return formatted.join(l10n.decimal_point);
case 'float_time':
return _.str.sprintf("%02d:%02d",
var pattern = '%02d:%02d';
if (value < 0) {
value = Math.abs(value);
pattern = '-' + pattern;
}
return _.str.sprintf(pattern,
Math.floor(value),
Math.round((value % 1) * 60));
case 'many2one':

View File

@ -71,6 +71,15 @@ $(document).ready(function () {
strictEqual(
openerp.web.format_value(0.0085, {type:'float', widget:'float_time'}),
'00:01');
strictEqual(
openerp.web.format_value(-1.0, {type:'float', widget:'float_time'}),
'-01:00');
strictEqual(
openerp.web.format_value(-0.9853, {type:'float', widget:'float_time'}),
'-00:59');
strictEqual(
openerp.web.format_value(-0.0085, {type:'float', widget:'float_time'}),
'-00:01');
});
test("format_float", function () {
var fl = 12.1234;