summaryrefslogtreecommitdiff
path: root/odoo/modules
diff options
context:
space:
mode:
authorAdrian Torres <adt@odoo.com>2020-03-13 14:03:15 +0000
committerRaphael Collet <rco@odoo.com>2020-03-30 13:42:04 +0000
commit96223568c445bc1d378fa4d8833f90d3dad8ec7e (patch)
treec243eebd600089a940d0399b927710525c9ee0b1 /odoo/modules
parent73dc42d6d598785e381305c30b6b5149cd4e9309 (diff)
[FIX] core: invalidate registry at the start of setup_models
This is necessary in order to create models on-the-fly within tests and to test improper Model / Field creation: registry.reset_changes will only perform the reset of the registry if it is invalidated, however if the setup of models crashes before it is invalidated (as is the case of a test), the reset_changes will not be triggered and thus the registry will be left dirty for subsequent tests.
Diffstat (limited to 'odoo/modules')
-rw-r--r--odoo/modules/registry.py3
1 files changed, 1 insertions, 2 deletions
diff --git a/odoo/modules/registry.py b/odoo/modules/registry.py
index 8d443138502..c4bc64adfe2 100644
--- a/odoo/modules/registry.py
+++ b/odoo/modules/registry.py
@@ -235,6 +235,7 @@ class Registry(Mapping):
This must be called after loading modules and before using the ORM.
"""
lazy_property.reset_all(self)
+ self.registry_invalidated = True
env = odoo.api.Environment(cr, SUPERUSER_ID, {})
if env.all.tocompute:
@@ -303,8 +304,6 @@ class Registry(Mapping):
for model in models:
model._setup_complete()
- self.registry_invalidated = True
-
def post_init(self, func, *args, **kwargs):
""" Register a function to call at the end of :meth:`~.init_models`. """
self._post_init_queue.append(partial(func, *args, **kwargs))