[imp] corrected integer handling in search view

bzr revid: nicolas.vanhoren@openerp.com-20110919134615-9ef47xeuw3gxdmwr
This commit is contained in:
niv-openerp 2011-09-19 15:46:15 +02:00
parent ba39c0351d
commit e1bde312fc
2 changed files with 12 additions and 3 deletions

View File

@ -82,7 +82,12 @@ openerp.web.parse_value = function (value, descriptor, value_if_empty) {
}
switch (descriptor.widget || descriptor.type) {
case 'integer':
var tmp = Number(value);
var tmp;
do {
tmp = value;
value = value.replace(openerp.web._t.database.parameters.thousands_sep, "");
} while(tmp !== value);
tmp = Number(value);
if (isNaN(tmp))
throw value + " is not a correct integer";
return tmp;

View File

@ -720,7 +720,11 @@ openerp.web.search.NumberField = openerp.web.search.Field.extend(/** @lends open
openerp.web.search.IntegerField = openerp.web.search.NumberField.extend(/** @lends openerp.web.search.IntegerField# */{
error_message: "not a valid integer",
parse: function (value) {
return parseInt(value, 10);
try {
return openerp.web.parse_value(value, {'widget': 'integer'});
} catch (e) {
return NaN;
}
}
});
/**
@ -1173,7 +1177,7 @@ openerp.web.search.ExtendedSearchProposition.Integer = openerp.web.OldWidget.ext
],
get_value: function() {
try {
return Math.round(openerp.web.parse_value(this.$element.val(), {'widget': 'float'}));
return openerp.web.parse_value(this.$element.val(), {'widget': 'integer'});
} catch (e) {
return "";
}