diff options
| author | Christophe Simonis <chs@odoo.com> | 2019-05-09 21:07:44 +0200 |
|---|---|---|
| committer | Christophe Simonis <chs@odoo.com> | 2019-05-09 21:07:44 +0200 |
| commit | cc3a2c1bf3c8aa2a7f85b5c2f8eb4e9415f3e6c7 (patch) | |
| tree | f97b6171e54f052126a1fad2f55a33c603e18bef /odoo/addons/base/models/ir_model.py | |
| parent | 92cb648882082cc8d84d3bbe75304def5196998c (diff) | |
| parent | e11bacfe512a3170f44d6d43646af914a9cf3b73 (diff) | |
[MERGE] forward port branch 12.0 up to e11bacfe512
Diffstat (limited to 'odoo/addons/base/models/ir_model.py')
| -rw-r--r-- | odoo/addons/base/models/ir_model.py | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/odoo/addons/base/models/ir_model.py b/odoo/addons/base/models/ir_model.py index 089204dda5f..41f013b3ccf 100644 --- a/odoo/addons/base/models/ir_model.py +++ b/odoo/addons/base/models/ir_model.py @@ -639,11 +639,17 @@ class IrModelFields(models.Model): for view in views: view._check_xml() except Exception: - raise UserError("\n".join([ - _("Cannot rename/delete fields that are still present in views:"), - _("Fields: %s") % ", ".join(str(f) for f in fields), - _("View: %s") % view.name, - ])) + if not self._context.get(MODULE_UNINSTALL_FLAG): + raise UserError("\n".join([ + _("Cannot rename/delete fields that are still present in views:"), + _("Fields: %s") % ", ".join(str(f) for f in fields), + _("View: %s") % view.name, + ])) + else: + # uninstall mode + _logger.warn("The following fields were force-deleted to prevent a registry crash " + + ", ".join(str(f) for f in fields) + + " the following view might be broken %s" % view.name) finally: # the registry has been modified, restore it self.pool.setup_models(self._cr) |
