details: https://code.tryton.org/tryton/commit/441544568c30
branch: 7.0
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
(grafted from 7c1f80fc2322fc6c47fc61990f3c7f64e9e86147)
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 e05227475188 -r 441544568c30 sao/src/common.js
--- a/sao/src/common.js Wed Apr 08 12:12:54 2026 +0200
+++ b/sao/src/common.js Wed Apr 08 14:31:55 2026 +0200
@@ -2074,6 +2074,7 @@
let [, thousandSeparator] = /^10(.)?000/.exec(format(10000));
let [, decimalSign] = /^0(.)1$/.exec(format(0.1));
return Number(string
+ .replace(new RegExp(' ', 'g'), '')
.replace(new RegExp(thousandSeparator, 'g'), '')
.replace(decimalSign, '.'));
}
diff -r e05227475188 -r 441544568c30 tryton/tryton/common/domain_parser.py
--- a/tryton/tryton/common/domain_parser.py Wed Apr 08 12:12:54 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