Skip to content
Snippets Groups Projects
Commit 979c5539 authored by Raphael Collet's avatar Raphael Collet Committed by Géry Debongnie
Browse files

[IMP] base: refactor `_instanciate` on `ir.model` to make it extendable

parent 8e8c98bf
No related branches found
No related tags found
No related merge requests found
...@@ -165,7 +165,7 @@ class IrModel(models.Model): ...@@ -165,7 +165,7 @@ class IrModel(models.Model):
@api.model @api.model
def _instanciate(self, model_data): 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): class CustomModel(models.Model):
_name = encode(model_data['model']) _name = encode(model_data['model'])
_description = model_data['name'] _description = model_data['name']
...@@ -174,7 +174,7 @@ class IrModel(models.Model): ...@@ -174,7 +174,7 @@ class IrModel(models.Model):
_transient = bool(model_data['transient']) _transient = bool(model_data['transient'])
__doc__ = model_data['info'] __doc__ = model_data['info']
CustomModel._build_model(self.pool, self._cr) return CustomModel
class IrModelFields(models.Model): class IrModelFields(models.Model):
......
...@@ -276,7 +276,8 @@ class Registry(Mapping): ...@@ -276,7 +276,8 @@ class Registry(Mapping):
ir_model = env['ir.model'] ir_model = env['ir.model']
cr.execute('SELECT * FROM ir_model WHERE state=%s', ('manual',)) cr.execute('SELECT * FROM ir_model WHERE state=%s', ('manual',))
for model_data in cr.dictfetchall(): 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 # prepare the setup on all models
models = env.values() models = env.values()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment