From 647106f5080b2513f833f47a79df646cdaf4b0f3 Mon Sep 17 00:00:00 2001 From: Alexis de Lattre Date: Fri, 17 Oct 2025 21:34:37 +0000 Subject: [PATCH] [IMP] base_usability: restore monkey-patch for formatLang() --- base_usability/models/__init__.py | 1 + base_usability/models/misc.py | 36 +++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 base_usability/models/misc.py diff --git a/base_usability/models/__init__.py b/base_usability/models/__init__.py index 3b15f76..701c3aa 100644 --- a/base_usability/models/__init__.py +++ b/base_usability/models/__init__.py @@ -6,3 +6,4 @@ from . import res_company from . import ir_mail_server from . import ir_actions_report from . import ir_model +from . import misc diff --git a/base_usability/models/misc.py b/base_usability/models/misc.py new file mode 100644 index 0000000..dd5d236 --- /dev/null +++ b/base_usability/models/misc.py @@ -0,0 +1,36 @@ +# Copyright 2016-2025 Akretion France (https://www.akretion.com/) +# @author: Alexis de Lattre +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import models +from odoo.tools import misc, float_compare + + +class BaseUsabilityInstalled(models.AbstractModel): + _name = "base.usability.installed" + _description = "Base Usability Installed" + + +formatLang_original = misc.formatLang + + +def formatLang( + env, value, digits=None, grouping=True, + monetary=False, dp=False, currency_obj=False, int_no_digits=True): + if ( + 'base.usability.installed' in env and + int_no_digits and + not monetary and + isinstance(value, float) and + dp): + prec = env['decimal.precision'].precision_get(dp) + if not float_compare(value, int(value), precision_digits=prec): + digits = 0 + dp = False + res = formatLang_original( + env, value, digits=digits, grouping=grouping, + monetary=monetary, dp=dp, currency_obj=currency_obj) + return res + + +misc.formatLang = formatLang