summaryrefslogtreecommitdiff
path: root/addons/base/static/src/js/list.js
diff options
context:
space:
mode:
authorXavier Morel <xmo@openerp.com>2011-07-25 16:11:03 +0200
committerXavier Morel <xmo@openerp.com>2011-07-25 16:11:03 +0200
commit9c8a2c33abd0dcd93eb4fff9c40d5104cf68d351 (patch)
tree292be43023e6a987c0eef8848e7277c537b701fa /addons/base/static/src/js/list.js
parentf8b552e5b5d3ea96e49e3493479c318c4d715411 (diff)
[FIX] check that a value is a number before checking for isNaN: strings are NaN and so are objects
also alias 'record.value', so we don't have to go through the indirection 11 times bzr revid: xmo@openerp.com-20110725141103-2ix5mhec6lk47en6
Diffstat (limited to 'addons/base/static/src/js/list.js')
-rw-r--r--addons/base/static/src/js/list.js22
1 files changed, 12 insertions, 10 deletions
diff --git a/addons/base/static/src/js/list.js b/addons/base/static/src/js/list.js
index 7b12da67697..a2fca3aa89e 100644
--- a/addons/base/static/src/js/list.js
+++ b/addons/base/static/src/js/list.js
@@ -24,11 +24,13 @@ openerp.base.list = {
].join('')
}
- var record = row_data[column.id];
+ var value = row_data[column.id].value;
// If NaN value, display as with a `false` (empty cell)
- if (isNaN(record.value)) { record.value = false; }
- switch (record.value) {
+ if (typeof value === 'number' && isNaN(value)) {
+ value = false;
+ }
+ switch (value) {
case false:
case Infinity:
case -Infinity:
@@ -36,23 +38,23 @@ openerp.base.list = {
}
switch (column.widget || column.type) {
case 'integer':
- return _.sprintf('%d', record.value);
+ return _.sprintf('%d', value);
case 'float':
var precision = column.digits ? column.digits[1] : 2;
- return _.sprintf('%.' + precision + 'f', record.value);
+ return _.sprintf('%.' + precision + 'f', value);
case 'float_time':
return _.sprintf("%02d:%02d",
- Math.floor(record.value),
- Math.round((record.value % 1) * 60));
+ Math.floor(value),
+ Math.round((value % 1) * 60));
case 'progressbar':
return _.sprintf(
'<progress value="%.2f" max="100.0">%.2f%%</progress>',
- record.value, record.value);
+ value, value);
case 'many2one':
// name_get value format
- return record.value[1];
+ return value[1];
default:
- return record.value;
+ return value;
}
}
};