From ee7a67d37e8627e1aad4dbf5037dc78a43d07108 Mon Sep 17 00:00:00 2001 From: Joel Zilli Date: Thu, 24 Nov 2022 09:50:23 -0300 Subject: [PATCH] [MIG] database_cleanup: Migration to 16.0 --- database_cleanup/models/purge_models.py | 16 ++++++++++------ database_cleanup/models/purge_modules.py | 4 ++-- database_cleanup/models/purge_wizard.py | 6 +++--- database_cleanup/tests/common.py | 2 +- 4 files changed, 16 insertions(+), 12 deletions(-) diff --git a/database_cleanup/models/purge_models.py b/database_cleanup/models/purge_models.py index 7e554ccf56c..5176cba97ac 100644 --- a/database_cleanup/models/purge_models.py +++ b/database_cleanup/models/purge_models.py @@ -2,25 +2,29 @@ # Copyright 2021 Camptocamp # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). # pylint: disable=consider-merging-classes-inherited +import logging + from odoo import _, api, fields, models from odoo.exceptions import UserError from odoo.addons.base.models.ir_model import MODULE_UNINSTALL_FLAG +_logger = logging.getLogger(__name__) + class IrModel(models.Model): _inherit = "ir.model" def _drop_table(self): """this function crashes for undefined models""" - existing_model_ids = self.filtered(lambda x: x.model in self.env) - return super(IrModel, existing_model_ids)._drop_table() + self = self.filtered(lambda x: x.model in self.env) + return super()._drop_table() @api.depends() def _inherited_models(self): """this function crashes for undefined models""" - existing_model_ids = self.filtered(lambda x: x.model in self.env) - return super(IrModel, existing_model_ids)._inherited_models() + self = self.filtered(lambda x: x.model in self.env) + return super()._inherited_models() class IrModelFields(models.Model): @@ -28,8 +32,8 @@ class IrModelFields(models.Model): def _prepare_update(self): """this function crashes for undefined models""" - existing = self.filtered(lambda x: x.model in self.env) - return super(IrModelFields, existing)._prepare_update() + self = self.filtered(lambda x: x.model in self.env) + return super()._prepare_update() class CleanupPurgeLineModel(models.TransientModel): diff --git a/database_cleanup/models/purge_modules.py b/database_cleanup/models/purge_modules.py index e4726fde244..4b7e97413b2 100644 --- a/database_cleanup/models/purge_modules.py +++ b/database_cleanup/models/purge_modules.py @@ -28,7 +28,7 @@ def _module_data_uninstall(self, modules_to_remove): continue if this.model not in self.env: this.unlink() - return super(IrModelData, self)._module_data_uninstall(modules_to_remove) + return super()._module_data_uninstall(modules_to_remove) class CleanupPurgeLineModule(models.TransientModel): @@ -53,7 +53,7 @@ def purge(self): modules.filtered( lambda x: x.state not in ("uninstallable", "uninstalled") ).button_immediate_uninstall() - modules.refresh() + modules.env.invalidate_all() modules.unlink() return self.write({"purged": True}) diff --git a/database_cleanup/models/purge_wizard.py b/database_cleanup/models/purge_wizard.py index 10c46cdbab7..87e1ca460cb 100644 --- a/database_cleanup/models/purge_wizard.py +++ b/database_cleanup/models/purge_wizard.py @@ -30,7 +30,7 @@ def create(self, values): # make sure the user trying this is actually supposed to do it if self.env.ref("base.group_erp_manager") not in self.env.user.groups_id: raise AccessDenied - return super(CleanupPurgeLine, self).create(values) + return super().create(values) class PurgeWizard(models.AbstractModel): @@ -41,7 +41,7 @@ class PurgeWizard(models.AbstractModel): @api.model def default_get(self, fields_list): - res = super(PurgeWizard, self).default_get(fields_list) + res = super().default_get(fields_list) if "purge_line_ids" in fields_list: res["purge_line_ids"] = self.find() return res @@ -85,6 +85,6 @@ def create(self, values): # make sure the user trying this is actually supposed to do it if self.env.ref("base.group_erp_manager") not in self.env.user.groups_id: raise AccessDenied - return super(PurgeWizard, self).create(values) + return super().create(values) purge_line_ids = fields.One2many("cleanup.purge.line", "wizard_id") diff --git a/database_cleanup/tests/common.py b/database_cleanup/tests/common.py index 4779bdec666..98b7c8ca21d 100644 --- a/database_cleanup/tests/common.py +++ b/database_cleanup/tests/common.py @@ -2,7 +2,7 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). from odoo.modules.registry import Registry -from odoo.tests import TransactionCase +from odoo.tests.common import TransactionCase class Common(TransactionCase):