From e1bde312fc7d76db34cd7a800293959c061840e6 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Mon, 19 Sep 2011 15:46:15 +0200 Subject: [PATCH] [imp] corrected integer handling in search view bzr revid: nicolas.vanhoren@openerp.com-20110919134615-9ef47xeuw3gxdmwr --- addons/web/static/src/js/formats.js | 7 ++++++- addons/web/static/src/js/search.js | 8 ++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/addons/web/static/src/js/formats.js b/addons/web/static/src/js/formats.js index b0dc4fcc289..925490b7459 100644 --- a/addons/web/static/src/js/formats.js +++ b/addons/web/static/src/js/formats.js @@ -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; diff --git a/addons/web/static/src/js/search.js b/addons/web/static/src/js/search.js index fff168453bd..14987fab289 100644 --- a/addons/web/static/src/js/search.js +++ b/addons/web/static/src/js/search.js @@ -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 ""; }