summaryrefslogtreecommitdiff
path: root/odoo/addons/base/wizard/base_import_language.py
diff options
context:
space:
mode:
authorMartin Trigaux <mat@odoo.com>2019-10-16 12:05:02 +0200
committerMartin Trigaux <mat@odoo.com>2019-11-19 10:37:01 +0100
commit49fbab5329fb95e759c3f90d4e9efb1717a9695c (patch)
tree5ced82c181feb5f9155b27f7ac2aca7b824080c6 /odoo/addons/base/wizard/base_import_language.py
parent7bf6992869804973b41a785037fc176cd608320e (diff)
[IMP] base: split and deprecate load_lang
load_lang was a kind of hybrid method trying to active or creating a language if not found. This was error prone. Instead rely on two methods with clear purpose: ResLang._create_lang(lang, lang_name=None) - create a new res.lang entry using the locale of the server return the res.lang record to match the API of _activate_lang ResLang._active_lang(code) - activate the given code lang Most of the time, _active_lang is what is expected tools.trans_load_data and IrTranslation._load_module_terms no longer activate the language if not active. Loading the translations should be explicit on an activated language, it is too error prone to silently activate/create a language if not found. Remove lang_name from trans_load_data as no longer needed.
Diffstat (limited to 'odoo/addons/base/wizard/base_import_language.py')
-rw-r--r--odoo/addons/base/wizard/base_import_language.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/odoo/addons/base/wizard/base_import_language.py b/odoo/addons/base/wizard/base_import_language.py
index 461c95958c3..8a0992f2380 100644
--- a/odoo/addons/base/wizard/base_import_language.py
+++ b/odoo/addons/base/wizard/base_import_language.py
@@ -37,8 +37,12 @@ class BaseLanguageImport(models.TransientModel):
buf.seek(0)
fileformat = os.path.splitext(this.filename)[-1][1:].lower()
- tools.trans_load_data(this._cr, buf, fileformat, this.code,
- lang_name=this.name, context=this._context)
+ Lang = self.env["res.lang"]
+ lang = Lang._activate_lang(self.code) or Lang._create_lang(
+ self.code, lang_name=self.name
+ )
+
+ tools.trans_load_data(this._cr, buf, fileformat, this.code, context=this._context)
except Exception as e:
_logger.exception('File unsuccessfully imported, due to format mismatch.')
raise UserError(