From 873a13ef625beb5af8a501d3bc91900fa06cd6c2 Mon Sep 17 00:00:00 2001 From: vava-odoo Date: Wed, 31 Jan 2024 15:04:51 +0100 Subject: [PATCH] [FIX] base_import_module: fix missing field name in non-debug mode Before this commit, the website of the industry module ends with `/False`. This is because the website of the module requires the name of the module. It is therefore added in the _get_modules_from_apps method. closes odoo/odoo#152078 Signed-off-by: Pierre Masereel (pim) --- addons/base_import_module/models/ir_module.py | 4 +++- addons/base_import_module/views/ir_module_views.xml | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/addons/base_import_module/models/ir_module.py b/addons/base_import_module/models/ir_module.py index 47cee8acf2e..d711e6b5d58 100644 --- a/addons/base_import_module/models/ir_module.py +++ b/addons/base_import_module/models/ir_module.py @@ -318,6 +318,8 @@ class IrModule(models.Model): @api.model def _get_modules_from_apps(self, fields, module_type, module_name, domain=None, limit=None, offset=None): + if 'name' not in fields: + fields = fields + ['name'] payload = { 'params': { 'series': major_version, @@ -334,7 +336,7 @@ class IrModule(models.Model): resp.raise_for_status() modules_list = resp.json().get('result', []) for mod in modules_list: - module_name = mod.get('name', module_name) + module_name = mod['name'] existing_mod = self.search([('name', '=', module_name), ('state', '=', 'installed')]) mod['id'] = existing_mod.id if existing_mod else -1 if 'icon' in fields: diff --git a/addons/base_import_module/views/ir_module_views.xml b/addons/base_import_module/views/ir_module_views.xml index b5114d79392..e2ccbb19344 100644 --- a/addons/base_import_module/views/ir_module_views.xml +++ b/addons/base_import_module/views/ir_module_views.xml @@ -34,7 +34,7 @@ - +