Allow to call set_lang with None or language instance

This simplify code in report. When the language is None, the default language
from the configuration is used.

issue7449
review51271002
This commit is contained in:
Cédric Krier committed 2018-05-23 23:08:44 +02:00
1 parent e85a4891ac
commit aab2b6e015
2 files changed
+16 -2

No files matched your search

+1
View File
@@ -1,3 +1,4 @@
* Allow to call set_lang with None and language instance
* Add hostname configuration to list database
* Add tree mixin
* Rename "install-dependences" into "activate-dependencies"
+15 -2
View File
@@ -103,7 +103,14 @@ class TranslateFactory:
code = get_parent_language(code)
return self.cache[self.language].get(text, text)
def set_language(self, language):
def set_language(self, language=None):
pool = Pool()
Config = pool.get('ir.configuration')
Lang = pool.get('ir.lang')
if isinstance(language, Lang):
language = language.code
if not language:
language = Config.get_language()
self.language = language
@@ -186,6 +193,8 @@ class Report(URLMixin, PoolBase):
def _get_records(cls, ids, model, data):
pool = Pool()
Model = pool.get(model)
Config = pool.get('ir.configuration')
Lang = pool.get('ir.lang')
context = Transaction().context
class TranslateModel(object):
@@ -195,7 +204,11 @@ class Report(URLMixin, PoolBase):
self.id = id
self._language = Transaction().language
def set_lang(self, language):
def set_lang(self, language=None):
if isinstance(language, Lang):
language = language.code
if not language:
language = Config.get_language()
self._language = language
def __getattr__(self, name):