From 1b24f60a5ce26cebe9ae7306a01c02ac4c0f420f Mon Sep 17 00:00:00 2001 From: jem-odoo Date: Thu, 5 Sep 2019 08:53:20 +0000 Subject: [PATCH] [FIX] tools: format_datetime with inactive lang When selecting the lang browse record, it can be empty when language is not activated. As we don't need that lang to be active to translate the format datetime (lang code is enough for Bable lib), we simply need to fallback to prevent error. --- odoo/tools/misc.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/odoo/tools/misc.py b/odoo/tools/misc.py index a6723856a6f..356e08db371 100644 --- a/odoo/tools/misc.py +++ b/odoo/tools/misc.py @@ -1268,8 +1268,10 @@ def format_datetime(env, value, tz=False, dt_format='medium', lang_code=False): except Exception: localized_datetime = utc_datetime - lang = env['res.lang']._lang_get(lang_code or env.context.get('lang') or 'en_US') - locale = babel.Locale.parse(lang.code) + lang_code = lang_code or env.context.get('lang') or 'en_US' + lang = env['res.lang']._lang_get(lang_code) + + locale = babel.Locale.parse(lang.code or lang_code) # lang can be inactive, so `lang`is empty if not dt_format: date_format = posix_to_ldml(lang.date_format, locale=locale) time_format = posix_to_ldml(lang.time_format, locale=locale)