details: https://code.tryton.org/tryton/commit/319126552d56
branch: default
user: Cédric Krier <[email protected]>
date: Sat Feb 28 12:57:24 2026 +0100
description:
Limit digit to positive integer when formatting float in domain parser
Closes #14557
diffstat:
sao/src/common.js | 1 +
tryton/tryton/common/domain_parser.py | 4 ++--
2 files changed, 3 insertions(+), 2 deletions(-)
diffs (25 lines):
diff -r 12c68d829574 -r 319126552d56 sao/src/common.js
--- a/sao/src/common.js Sun Mar 08 11:17:53 2026 +0100
+++ b/sao/src/common.js Sat Feb 28 12:57:24 2026 +0100
@@ -2232,6 +2232,7 @@
}
var factor = Number(field.factor || 1);
digit -= Math.round(Math.log10(factor));
+ digit = Math.max(digit, 0);
return (value * factor).toLocaleString(
Sao.i18n.BC47(Sao.i18n.getlang()), {
useGrouping: true,
diff -r 12c68d829574 -r 319126552d56 tryton/tryton/common/domain_parser.py
--- a/tryton/tryton/common/domain_parser.py Sun Mar 08 11:17:53 2026 +0100
+++ b/tryton/tryton/common/domain_parser.py Sat Feb 28 12:57:24 2026 +0100
@@ -354,8 +354,8 @@
cast = float
factor = cast(field.get('factor', 1))
digit -= round(math.log10(factor))
- return locale.localize(
- '{0:.{1}f}'.format(value * factor or 0, digit), True)
+ digit = max(digit, 0)
+ return locale.localize('{0:.{1}f}'.format(value * factor, digit), True)
def format_selection():
if isinstance(field['selection'], (tuple, list)):