[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.
This commit is contained in:
jem-odoo
2019-09-05 20:11:18 +00:00
parent d604deccee
commit 1b24f60a5c
+4 -2
View File
@@ -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)