diff --git a/openerp/modules/loading.py b/openerp/modules/loading.py index e7a6c50286a..b5a7c5eb887 100644 --- a/openerp/modules/loading.py +++ b/openerp/modules/loading.py @@ -416,6 +416,12 @@ def load_modules(db, force_demo=False, status=None, update_module=False): _logger.error('At least one test failed when loading the modules.') else: _logger.info('Modules loaded.') + + # STEP 7: for every model call _register_hook + for models in pool.models: + pool_mod = pool.get(models) + pool_mod._register_hook(cr) + finally: cr.close() diff --git a/openerp/osv/orm.py b/openerp/osv/orm.py index 3b9b8f30d23..fe05dd44a56 100644 --- a/openerp/osv/orm.py +++ b/openerp/osv/orm.py @@ -5166,6 +5166,10 @@ class BaseModel(object): # for backward compatibility resolve_o2m_commands_to_record_dicts = resolve_2many_commands + def _register_hook(self, cr): + """ This method is called right after the registry is filled """ + pass + # keep this import here, at top it will cause dependency cycle errors import expression