summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--odoo/addons/base/models/ir_module.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/odoo/addons/base/models/ir_module.py b/odoo/addons/base/models/ir_module.py
index f042dd5aa7b..70f0b1d08ec 100644
--- a/odoo/addons/base/models/ir_module.py
+++ b/odoo/addons/base/models/ir_module.py
@@ -605,6 +605,11 @@ class Module(models.Model):
def button_uninstall(self):
if 'base' in self.mapped('name'):
raise UserError(_("The `base` module cannot be uninstalled"))
+ if not all(state == 'installed' for state in self.mapped('state')):
+ raise UserError(_(
+ "One or more of the selected modules have already been uninstalled, if you "
+ "believe this to be an error, you may try again later or contact support."
+ ))
deps = self.downstream_dependencies()
(self + deps).write({'state': 'to remove'})
return dict(ACTION_DICT, name=_('Uninstall'))