diff options
| author | Xavier Morel <xmo@openerp.com> | 2012-02-08 15:04:45 +0100 |
|---|---|---|
| committer | Xavier Morel <xmo@openerp.com> | 2012-02-08 15:04:45 +0100 |
| commit | 289eba0e4fc4191b0c918e475cbfdd96f6153caa (patch) | |
| tree | 35ced5723dae720e01678ebba011f1d74a83760c /addons/web/static/src | |
| parent | 5af49817f451584930b762ad6ccf7b572037fb07 (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.js | 9 |
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': |
