From 0bc6322dc809c816ec01f5b1f3b9bceaa5bca1b3 Mon Sep 17 00:00:00 2001 From: Holger Brunn Date: Tue, 17 Jul 2018 08:17:54 +0200 Subject: [PATCH] [IMP] purge uninstalled unavailable modules in bulk --- database_cleanup/models/purge_modules.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/database_cleanup/models/purge_modules.py b/database_cleanup/models/purge_modules.py index c099e390d..71f7eed82 100644 --- a/database_cleanup/models/purge_modules.py +++ b/database_cleanup/models/purge_modules.py @@ -72,6 +72,7 @@ class CleanupPurgeWizardModule(models.TransientModel): @api.model def find(self): res = [] + purge_lines = self.env['cleanup.purge.line.module'] IrModule = self.env['ir.module.module'] for module in IrModule.search( [ @@ -82,12 +83,14 @@ 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({ + purge_lines += self.env['cleanup.purge.line.module'].create({ 'name': module.name, - }).purge() + }) continue res.append((0, 0, {'name': module.name})) + purge_lines.purge() + if not res: raise UserError(_('No modules found to purge')) return res