From e182da22f4a962655e92704a826d5019d61c4e40 Mon Sep 17 00:00:00 2001 From: Raphael Collet Date: Tue, 17 Mar 2015 11:40:19 +0100 Subject: [PATCH] [FIX] base/ir_model: upon custom field creation, always clear manual fields in registry The invalidation in registry was done only if the field's model was already in registry. This situation is not the case when you create a custom model with a custom field. --- openerp/addons/base/ir/ir_model.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openerp/addons/base/ir/ir_model.py b/openerp/addons/base/ir/ir_model.py index e00d80fe9a4..282d76d7ef0 100644 --- a/openerp/addons/base/ir/ir_model.py +++ b/openerp/addons/base/ir/ir_model.py @@ -383,13 +383,13 @@ class ir_model_fields(osv.osv): if vals.get('relation',False) and not self.pool['ir.model'].search(cr, user, [('model','=',vals['relation'])]): raise except_orm(_('Error'), _("Model %s does not exist!") % vals['relation']) + self.pool.clear_manual_fields() + if vals['model'] in self.pool: model = self.pool[vals['model']] if vals['model'].startswith('x_') and vals['name'] == 'x_name': model._rec_name = 'x_name' - self.pool.clear_manual_fields() - # re-initialize model in registry model.__init__(self.pool, cr) self.pool.setup_models(cr, partial=(not self.pool.ready))