From 28a970761ab7bc52ebca1b5b374ba76d9e17eaeb Mon Sep 17 00:00:00 2001 From: Mantavya Gajjar Date: Mon, 11 May 2009 16:47:38 +0530 Subject: [PATCH] improvement in checking for model existance bzr revid: mga@tinyerp.com-20090511111738-00ornn57eh8jjfzp --- bin/addons/base/ir/ir_model.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/bin/addons/base/ir/ir_model.py b/bin/addons/base/ir/ir_model.py index 105ffece9dc..7a020704110 100644 --- a/bin/addons/base/ir/ir_model.py +++ b/bin/addons/base/ir/ir_model.py @@ -244,13 +244,12 @@ class ir_model_fields(osv.osv): if not vals['name'].startswith('x_'): raise except_orm(_('Error'), _("Custom fields must have a name that starts with 'x_' !")) - model_ids = self.pool.get('ir.model').search(cr, user, [('model','=',vals['relation'])]) - if model_ids: - if self.pool.get(vals['model']): - self.pool.get(vals['model']).__init__(self.pool, cr) - self.pool.get(vals['model'])._auto_init(cr, {}) - else: - raise except_orm(_('Error'), _("Model %s Does not Exist !" % vals['relation'])) + if 'relation' in vals and not self.pool.get('ir.model').search(cr, user, [('model','=',vals['relation'])]): + raise except_orm(_('Error'), _("Model %s Does not Exist !" % vals['relation'])) + + if self.pool.get(vals['model']): + self.pool.get(vals['model']).__init__(self.pool, cr) + self.pool.get(vals['model'])._auto_init(cr, {}) return res ir_model_fields()