diff options
| author | niv-openerp <nicolas.vanhoren@openerp.com> | 2011-09-19 15:46:15 +0200 |
|---|---|---|
| committer | niv-openerp <nicolas.vanhoren@openerp.com> | 2011-09-19 15:46:15 +0200 |
| commit | e1bde312fc7d76db34cd7a800293959c061840e6 (patch) | |
| tree | ffc36195d72d22d0f5d1140229833aba80638a35 /addons/web/static/src | |
| parent | ba39c0351deb5c5b785d16fd816c6fb0b85a4a8d (diff) | |
[imp] corrected integer handling in search view
bzr revid: nicolas.vanhoren@openerp.com-20110919134615-9ef47xeuw3gxdmwr
Diffstat (limited to 'addons/web/static/src')
| -rw-r--r-- | addons/web/static/src/js/formats.js | 7 | ||||
| -rw-r--r-- | 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 ""; } |
