diff options
| author | Jeremy Kersten <jke@odoo.com> | 2020-04-23 13:21:34 +0000 |
|---|---|---|
| committer | Jeremy Kersten <jke@odoo.com> | 2020-04-27 13:49:01 +0000 |
| commit | 9247c5e8fde001d9bd53ea2c7cf9144326eda6e0 (patch) | |
| tree | 32c7fe802c19321e13e654b051285ac713a5fe11 /odoo/tools/misc.py | |
| parent | 8e150d871e60ca6a011a65ed45070d6778e6c276 (diff) | |
[IMP] tools: avoid useless query on res.users
Without this commit, if `lang_code` or `env.context.get('lang')` was set, we
would still access `env.user.company_id.partner_id.lang` to fill the loop array
even if we break and don't need that value.
Switching from loop to if conditions prevents that.
task-2211013
Co-authored-by: Romain Derie <rde@odoo.com>
Co-authored-by: Jeremy Kersten <jke@odoo.com>
Diffstat (limited to 'odoo/tools/misc.py')
| -rw-r--r-- | odoo/tools/misc.py | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/odoo/tools/misc.py b/odoo/tools/misc.py index 2e58ad9e012..ed81f6ccf86 100644 --- a/odoo/tools/misc.py +++ b/odoo/tools/misc.py @@ -1215,9 +1215,14 @@ def get_lang(env, lang_code=False): :return res.lang: the first lang found that is installed on the system. """ langs = [code for code, _ in env['res.lang'].get_installed()] - for code in [lang_code, env.context.get('lang'), env.user.company_id.partner_id.lang, langs[0]]: - if code in langs: - return env['res.lang']._lang_get(code) + lang = langs[0] + if lang_code and lang_code in langs: + lang = lang_code + elif env.context.get('lang') in langs: + lang = env.context.get('lang') + elif env.user.company_id.partner_id.lang in langs: + lang = env.user.company_id.partner_id.lang + return env['res.lang']._lang_get(lang) def formatLang(env, value, digits=None, grouping=True, monetary=False, dp=False, currency_obj=False): |
