[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 <rco@odoo.com>
Co-authored-by: Raphael Collet <rco@odoo.com>
This commit is contained in:
Stefan Rijnhart
2022-03-03 11:04:16 +00:00
co-authored by Raphael Collet
parent 13bddabbe0
commit 4627e83d4b
+10
View File
@@ -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]