details: https://code.tryton.org/tryton/commit/7c1f80fc2322
branch: default
user: Cédric Krier <[email protected]>
date: Wed Apr 08 14:31:55 2026 +0200
description:
Always remove spaces when converting value to number in domain parser
Closes #14753
diffstat:
sao/src/common.js | 1 +
tryton/tryton/common/domain_parser.py | 6 +++---
2 files changed, 4 insertions(+), 3 deletions(-)
diffs (39 lines):
diff -r 969a6386f2b1 -r 7c1f80fc2322 sao/src/common.js
--- a/sao/src/common.js Mon Apr 13 14:38:48 2026 +0200
+++ b/sao/src/common.js Wed Apr 08 14:31:55 2026 +0200
@@ -2095,6 +2095,7 @@
let [, thousandSeparator] = /^10(.)?000/.exec(format(10000));
let [, decimalSign] = /^0(.)1$/.exec(format(0.1));
return Number(string
+ .replaceAll(' ', '')
.replaceAll(thousandSeparator, '')
.replace(decimalSign, '.'));
}
diff -r 969a6386f2b1 -r 7c1f80fc2322 tryton/tryton/common/domain_parser.py
--- a/tryton/tryton/common/domain_parser.py Mon Apr 13 14:38:48 2026 +0200
+++ b/tryton/tryton/common/domain_parser.py Wed Apr 08 14:31:55 2026 +0200
@@ -231,21 +231,21 @@
def convert_float():
factor = float(field.get('factor', 1))
try:
- return locale.atof(value) / factor
+ return locale.atof(value.replace(' ', '')) / factor
except (ValueError, AttributeError):
return
def convert_integer():
factor = float(field.get('factor', 1))
try:
- return int(locale.atof(value) / factor)
+ return int(locale.atof(value.replace(' ', '')) / factor)
except (ValueError, AttributeError):
return
def convert_numeric():
factor = Decimal(field.get('factor', 1))
try:
- return Decimal(locale.delocalize(value)) / factor
+ return Decimal(locale.delocalize(value.replace(' ', ''))) / factor
except (decimal.InvalidOperation, AttributeError):
return