details: https://code.tryton.org/tryton/commit/dd5570cb8f89
branch: 7.6
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
(grafted from 319126552d56ef1dd8a03e457071df0d40d0607e)
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 7438b1a7106d -r dd5570cb8f89 sao/src/common.js
--- a/sao/src/common.js Mon Mar 02 14:15:14 2026 +0100
+++ b/sao/src/common.js Sat Feb 28 12:57:24 2026 +0100
@@ -2218,6 +2218,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 7438b1a7106d -r dd5570cb8f89 tryton/tryton/common/domain_parser.py
--- a/tryton/tryton/common/domain_parser.py Mon Mar 02 14:15:14 2026 +0100
+++ b/tryton/tryton/common/domain_parser.py Sat Feb 28 12:57:24 2026 +0100
@@ -349,8 +349,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)):