From a3d4ba0bb6fb4a58a28bcb8bc17c3809058f21eb Mon Sep 17 00:00:00 2001 From: Joel Zilli Date: Wed, 3 May 2023 16:12:42 -0300 Subject: [PATCH] =?UTF-8?q?[FIX]=20database=5Fcleanup:=20unused=20code=20+?= =?UTF-8?q?=20wrong=C2=A0modules=20clean?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- database_cleanup/models/purge_modules.py | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/database_cleanup/models/purge_modules.py b/database_cleanup/models/purge_modules.py index 4b7e97413..473219efa 100644 --- a/database_cleanup/models/purge_modules.py +++ b/database_cleanup/models/purge_modules.py @@ -50,9 +50,11 @@ class CleanupPurgeLineModule(models.TransientModel): if not modules: return True self.logger.info("Purging modules %s", ", ".join(module_names)) - modules.filtered( - lambda x: x.state not in ("uninstallable", "uninstalled") - ).button_immediate_uninstall() + installed = modules.filtered(lambda x: x.state in ("installed", "to upgrade")) + ((modules - installed) + (modules - installed).downstream_dependencies()).write( + {"state": "to remove"} + ) + installed.button_immediate_uninstall() modules.env.invalidate_all() modules.unlink() return self.write({"purged": True}) @@ -72,13 +74,6 @@ class CleanupPurgeWizardModule(models.TransientModel): ): if get_module_path(module.name, display_warning=False): continue - if module.state == "uninstalled": - self.env["cleanup.purge.line.module"].create( - { - "name": module.name, - } - ) - continue res.append((0, 0, {"name": module.name})) if not res: