From e45ff0098b01e50651a9dc61e3340bb4403bef17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Fri, 31 May 2024 11:13:06 +0200 Subject: [PATCH] Do not rely on locale from context as fallback format for date Since 6c5f4d760e54, the locale key is removed from the RPC context so the fallback for the date format must come from the translation utilities. Closes #13290 --- sao/src/common.js | 12 ++---------- tryton/tryton/common/common.py | 3 ++- tryton/tryton/translate.py | 7 +++++-- 3 files changed, 9 insertions(+), 13 deletions(-) diff --git a/sao/src/common.js b/sao/src/common.js index 2e2aece0b0..7b01470a8d 100644 --- a/sao/src/common.js +++ b/sao/src/common.js @@ -228,16 +228,8 @@ ]; Sao.common.date_format = function(format) { - if (jQuery.isEmptyObject(format)) { - format = '%x'; - if (Sao.Session.current_session) { - var context = Sao.Session.current_session.context; - if (context.locale && context.locale.date) { - format = context.locale.date; - } - } - } - return Sao.common.moment_format(format); + return Sao.common.moment_format( + format || Sao.i18n.locale.date || '%x'); }; Sao.common.format_time = function(format, date) { diff --git a/tryton/tryton/common/common.py b/tryton/tryton/common/common.py index 5d3d6dd36f..67f2beb05d 100644 --- a/tryton/tryton/common/common.py +++ b/tryton/tryton/common/common.py @@ -37,6 +37,7 @@ from string import Template from threading import Lock, Thread import tryton.rpc as rpc +import tryton.translate as translate from tryton.cache import CacheDict from tryton.config import CONFIG, PIXMAPS_DIR, SOUNDS_DIR, TRYTON_ICON @@ -1528,7 +1529,7 @@ def get_align(float_, expand=True): def date_format(format_=None): - return format_ or rpc.CONTEXT.get('locale', {}).get('date', '%x') + return format_ or translate.DATE or '%x' def idle_add(func): diff --git a/tryton/tryton/translate.py b/tryton/tryton/translate.py index 8b764bb222..7eae072873 100644 --- a/tryton/tryton/translate.py +++ b/tryton/tryton/translate.py @@ -12,6 +12,7 @@ from gi.repository import Gtk from tryton.config import CURRENT_DIR _ = gettext.gettext +DATE = None _LOCALE2WIN32 = { 'af_ZA': 'Afrikaans_South Africa', @@ -196,8 +197,10 @@ def setlang(lang=None, locale_dict=None): conv = locale.localeconv() for field in list(locale_dict.keys()): if field == 'date': - continue - conv[field] = locale_dict[field] + global DATE + DATE = locale_dict[field] + else: + conv[field] = locale_dict[field] locale.localeconv = lambda: conv