summaryrefslogtreecommitdiff
path: root/addons/web/static/src
diff options
context:
space:
mode:
authorXavier Morel <xmo@openerp.com>2012-02-08 15:04:45 +0100
committerXavier Morel <xmo@openerp.com>2012-02-08 15:04:45 +0100
commit289eba0e4fc4191b0c918e475cbfdd96f6153caa (patch)
tree35ced5723dae720e01678ebba011f1d74a83760c /addons/web/static/src
parent5af49817f451584930b762ad6ccf7b572037fb07 (diff)
[FIX] sign handling when parsing float_time values
bzr revid: xmo@openerp.com-20120208140445-xfgz3vm18r4t9ijb
Diffstat (limited to 'addons/web/static/src')
-rw-r--r--addons/web/static/src/js/formats.js9
1 files 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':