From 289eba0e4fc4191b0c918e475cbfdd96f6153caa Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Wed, 8 Feb 2012 15:04:45 +0100 Subject: [PATCH] [FIX] sign handling when parsing float_time values bzr revid: xmo@openerp.com-20120208140445-xfgz3vm18r4t9ijb --- addons/web/static/src/js/formats.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/addons/web/static/src/js/formats.js b/addons/web/static/src/js/formats.js index d35a28f36b7..e8970b65f52 100644 --- a/addons/web/static/src/js/formats.js +++ b/addons/web/static/src/js/formats.js @@ -176,12 +176,17 @@ openerp.web.parse_value = function (value, descriptor, value_if_empty) { throw new Error(value + " is not a correct float"); return parsed; case 'float_time': + var factor = 1; + if (value[0] === '-') { + value = value.slice(1); + factor = -1; + } var float_time_pair = value.split(":"); if (float_time_pair.length != 2) - return openerp.web.parse_value(value, {type: "float"}); + return factor * openerp.web.parse_value(value, {type: "float"}); var hours = openerp.web.parse_value(float_time_pair[0], {type: "integer"}); var minutes = openerp.web.parse_value(float_time_pair[1], {type: "integer"}); - return hours + (minutes / 60); + return factor * (hours + (minutes / 60)); case 'progressbar': return openerp.web.parse_value(value, {type: "float"}); case 'datetime':