From c208d0e0b25e0872146cc3165696e54d2ef6e65e Mon Sep 17 00:00:00 2001 From: Richard Mathot Date: Mon, 29 Aug 2016 17:31:55 +0200 Subject: [PATCH] [FIX] tools: prevent crash of formatLang From Odoo 9.0, en_US is not always activated in Odoo. As a fallback, if the search for a language does not find company language nor English US, we use the first available language (there is always at least one). In order to reproduce this behavior, eg: you can set the language of your company's partner to en_US, then load another language, then disable en_US from your database. Try to open the "Accounting" dashboard and you will get a traceback. --- openerp/tools/misc.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openerp/tools/misc.py b/openerp/tools/misc.py index d59c46eebeb..eb670adb5c4 100644 --- a/openerp/tools/misc.py +++ b/openerp/tools/misc.py @@ -1184,7 +1184,7 @@ def formatLang(env, value, digits=None, grouping=True, monetary=False, dp=False, lang = env.user.company_id.partner_id.lang or 'en_US' lang_objs = env['res.lang'].search([('code', '=', lang)]) if not lang_objs: - lang_objs = env['res.lang'].search([('code', '=', 'en_US')]) + lang_objs = env['res.lang'].search([], limit=1) lang_obj = lang_objs[0] res = lang_obj.format('%.' + str(digits) + 'f', value, grouping=grouping, monetary=monetary)