From 2bce2a3889c02194eed9b40aa7f85f2319a492c9 Mon Sep 17 00:00:00 2001 From: Adrian Torres Date: Fri, 20 Jul 2018 14:27:40 +0200 Subject: [PATCH] fixup! fixup! optimizegit stgit stgit stgit stgit st --- odoo/addons/base/ir/ir_model.py | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/odoo/addons/base/ir/ir_model.py b/odoo/addons/base/ir/ir_model.py index df5a837d5fbbf..c7eceab71fc0f 100644 --- a/odoo/addons/base/ir/ir_model.py +++ b/odoo/addons/base/ir/ir_model.py @@ -547,25 +547,22 @@ def _prepare_update(self): that have an inverse one2many, for instance. """ failed_dependencies = [] - # for candidate in candidates: for rec in self: model = self.env[rec.model] field = model._fields[rec.name] for dependant, path in model._field_triggers.get(field, ()): if dependant.manual: - failed_dependencies.append((self._get(dependant.model_name, dependant.name), - rec)) + failed_dependencies.append((field, dependant)) for inverse in model._field_inverses.get(field, ()): if inverse.manual and inverse.type == 'one2many': - failed_dependencies.append((self._get(inverse.model_name, inverse.name), rec)) + failed_dependencies.append((field, dependant)) if not self._context.get(MODULE_UNINSTALL_FLAG) and failed_dependencies: - # do not unlink candidate if not in uninstall mode msg = _("The field '%s' cannot be removed because the field '%s' depends on it.") raise UserError(msg % failed_dependencies[0]) elif failed_dependencies: - candidates_to_delete = [rel[0] for rel in failed_dependencies] - self.browse().union(*candidates_to_delete).unlink() + to_unlink = [self._get(rel[1].model_name, rel[1].name) for rel in failed_dependencies] + self.browse().union(*to_unlink).unlink() self = self.filtered(lambda record: record.state == 'manual') if not self: