From 4627e83d4b4501fa7c1fdd3d347994b4947c0e44 Mon Sep 17 00:00:00 2001 From: Stefan Rijnhart Date: Mon, 28 Feb 2022 15:19:52 +0000 Subject: [PATCH] [FIX] base: updating 'base' should update all modules If an installed module is only present in the dependency graph through a new, uninstalled dependency, it was not be selected for upgrade when updating the `base` module (c.q. `--update all`) closes odoo/odoo#85704 X-original-commit: 6c80e7cfeafaaa4fb7c0d93cbe94c66068fc3170 Signed-off-by: Raphael Collet Co-authored-by: Raphael Collet --- odoo/addons/base/models/ir_module.py | 10 ++++++++++ 1 file changed, 10 insertions(+) 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]