diff --git a/odoo/addons/base/models/ir_module.py b/odoo/addons/base/models/ir_module.py index 75c2502ac72..58af110837e 100644 --- a/odoo/addons/base/models/ir_module.py +++ b/odoo/addons/base/models/ir_module.py @@ -669,6 +669,16 @@ class Module(models.Model): self.update_list() todo = list(self) + if 'base' in self.mapped('name'): + # If an installed module is only present in the dependency graph through + # a new, uninstalled dependency, it will not have been selected yet. + # An update of 'base' should also update these modules, and as a consequence, + # install the new dependency. + todo.extend(self.search([ + ('state', '=', 'installed'), + ('name', '!=', 'studio_customization'), + ('id', 'not in', self.ids), + ])) i = 0 while i < len(todo): module = todo[i]