diff --git a/odoo/addons/base/ir/ir_model.py b/odoo/addons/base/ir/ir_model.py index 21e00cae6a086bdde7ba36db5349993cb8d04caf..b57c8de4fd09889bd16a541911b1a560c1c740c8 100644 --- a/odoo/addons/base/ir/ir_model.py +++ b/odoo/addons/base/ir/ir_model.py @@ -165,7 +165,7 @@ class IrModel(models.Model): @api.model def _instanciate(self, model_data): - """ Instanciate a model class for the custom model given by parameters ``model_data``. """ + """ Return a class for the custom model given by parameters ``model_data``. """ class CustomModel(models.Model): _name = encode(model_data['model']) _description = model_data['name'] @@ -174,7 +174,7 @@ class IrModel(models.Model): _transient = bool(model_data['transient']) __doc__ = model_data['info'] - CustomModel._build_model(self.pool, self._cr) + return CustomModel class IrModelFields(models.Model): diff --git a/odoo/modules/registry.py b/odoo/modules/registry.py index 9be7fa15ae91171a602c11ddc977328c6491176c..946682c241e03ba745a563c468d774202025793e 100644 --- a/odoo/modules/registry.py +++ b/odoo/modules/registry.py @@ -276,7 +276,8 @@ class Registry(Mapping): ir_model = env['ir.model'] cr.execute('SELECT * FROM ir_model WHERE state=%s', ('manual',)) for model_data in cr.dictfetchall(): - ir_model._instanciate(model_data) + model_class = ir_model._instanciate(model_data) + model_class._build_model(self, cr) # prepare the setup on all models models = env.values()