From f5cd483216af01001f44a41f7d48f042b9f56ff9 Mon Sep 17 00:00:00 2001 From: Martin Trigaux Date: Tue, 6 Aug 2019 15:26:40 +0000 Subject: [PATCH] [IMP] base: no fallback on _lang_get_id It was very misleading that self.env['res.lang']._lang_get('fr_FR') used to return any language if fr_FR was not active or did not exited There is a very frequent need to get a language from the code There is rarely a need to get any language --- odoo/addons/base/models/res_lang.py | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/odoo/addons/base/models/res_lang.py b/odoo/addons/base/models/res_lang.py index d1eeff1fe35..9e3b6f151e1 100644 --- a/odoo/addons/base/models/res_lang.py +++ b/odoo/addons/base/models/res_lang.py @@ -179,13 +179,10 @@ class Lang(models.Model): @tools.ormcache('code') def _lang_get_id(self, code): - return (self.search([('code', '=', code)]) or - self.search([('code', '=', 'en_US')]) or - self.search([], limit=1)).id + return self.with_context(active_test=True).search([('code', '=', code)]).id - @api.model - @api.returns('self', lambda value: value.id) def _lang_get(self, code): + """ Return the language using this code if it is active """ return self.browse(self._lang_get_id(code)) @tools.ormcache('self.code', 'monetary')