summaryrefslogtreecommitdiff
path: root/addons/web/static/src
diff options
context:
space:
mode:
authorniv-openerp <nicolas.vanhoren@openerp.com>2011-09-19 15:46:15 +0200
committerniv-openerp <nicolas.vanhoren@openerp.com>2011-09-19 15:46:15 +0200
commite1bde312fc7d76db34cd7a800293959c061840e6 (patch)
treeffc36195d72d22d0f5d1140229833aba80638a35 /addons/web/static/src
parentba39c0351deb5c5b785d16fd816c6fb0b85a4a8d (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.js7
-rw-r--r--addons/web/static/src/js/search.js8
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 "";
}