diff --git a/setup/lib/cli.py b/setup/lib/cli.py index dd1b11f3..41ea240f 100755 --- a/setup/lib/cli.py +++ b/setup/lib/cli.py @@ -103,6 +103,12 @@ def main(): 'drop_db', ] + if cmd == 'load_languages': + methods = [ + 'login', + 'load_languages' + ] + setup_methods = [ 'login', 'install_modules', diff --git a/setup/lib/config.py b/setup/lib/config.py index d3c5b759..bc15bbbc 100644 --- a/setup/lib/config.py +++ b/setup/lib/config.py @@ -11,6 +11,8 @@ class Config(): self.price_decimals = 2 # Nachkommastellen Preis self.uom_decimals = 3 # Nachkommastellen Mengeneinheiten + self.load_languages = ['en_US'] + self.mail_server = { 'name': 'test', 'sequence': 0, diff --git a/setup/lib/functions.py b/setup/lib/functions.py index d041138c..acac9212 100644 --- a/setup/lib/functions.py +++ b/setup/lib/functions.py @@ -93,6 +93,27 @@ class DatenpolFunctions: vals['country_id'] = country_id return self.odoo.env.ref(self.config.company_xmlid).write(vals) + def load_languages(self): + """Lade zusätzliche Sprachen""" + + languages = self.config.load_languages + + language_install_obj = self.odoo.env['base.language.install'] + for language in languages: + already_installed = False + for installed in self.odoo.env['res.lang'].get_installed(): + if language == installed[0]: + already_installed = True + break + if not already_installed: + for lang in self.odoo.env['res.lang'].get_available(): + if lang[0] == language: + lang_id = language_install_obj.create({'lang': language}) + lang_id = language_install_obj.browse(lang_id) + lang_id.lang_install() + + return True + def set_taxes(self): """Setze Standard-Steuersätze"""