diff options
| author | Juhil Somaiya <jso@odoo.com> | 2019-04-15 08:29:41 +0000 |
|---|---|---|
| committer | Juhil Somaiya <jso@odoo.com> | 2019-05-07 04:57:37 +0000 |
| commit | 1d0763425d5b982b728c7ac9bcccba3a0a21a50d (patch) | |
| tree | 2b730d75fe3b2e64e8bfb1b31f73999427352f87 | |
| parent | 419c57a78b96d0804e5640452324b6f78af8fe18 (diff) | |
[IMP] base_import_module: improve module dependencies error message
Currently, when trying to import a module, if there is an error
related to dependencies, it is not shown in a decent format. For
example, technical names of the modules are being displayed in
a single line, separated by comma.
This commit makes the dependency error message readable by
displaying short description of the modules (instead of
technical names), each on a new line.
task-1830483
closes odoo/odoo#33029
Signed-off-by: Martin Geubelle (mge) <mge@openerp.com>
| -rw-r--r-- | addons/base_import_module/models/base_import_module.py | 2 | ||||
| -rw-r--r-- | addons/base_import_module/models/ir_module.py | 6 |
2 files changed, 4 insertions, 4 deletions
diff --git a/addons/base_import_module/models/base_import_module.py b/addons/base_import_module/models/base_import_module.py index 9a855384052..0de2de70d84 100644 --- a/addons/base_import_module/models/base_import_module.py +++ b/addons/base_import_module/models/base_import_module.py @@ -11,7 +11,7 @@ class BaseImportModule(models.TransientModel): module_file = fields.Binary(string='Module .ZIP file', required=True, attachment=False) state = fields.Selection([('init', 'init'), ('done', 'done')], string='Status', readonly=True, default='init') - import_message = fields.Char() + import_message = fields.Text() force = fields.Boolean(string='Force init', help="Force init mode even if installed. (will update `noupdate='1'` records)") @api.multi diff --git a/addons/base_import_module/models/ir_module.py b/addons/base_import_module/models/ir_module.py index 128594cc824..ae85bdcfc9d 100644 --- a/addons/base_import_module/models/ir_module.py +++ b/addons/base_import_module/models/ir_module.py @@ -49,8 +49,8 @@ class IrModule(models.Model): _is_studio_custom(path)): err = _("Studio customizations require Studio") else: - err = _("Unmet module dependencies: %s") % ', '.join( - unmet_dependencies, + err = _("Unmet module dependencies: \n\n - %s") % '\n - '.join( + known_mods.filtered(lambda mod: mod.name in unmet_dependencies).mapped('shortdesc') ) raise UserError(err) elif 'web_studio' not in installed_mods and _is_studio_custom(path): @@ -142,7 +142,7 @@ class IrModule(models.Model): module.ad_paths.remove(module_dir) r = ["Successfully imported module '%s'" % mod for mod in success] for mod, error in errors.items(): - r.append("Error while importing module '%s': %r" % (mod, error)) + r.append("Error while importing module '%s'.\n\n %s \n Make sure those modules are installed and try again." % (mod, error)) return '\n'.join(r), module_names |
