From 2d69e871a36ec9ae0ee14b69bf27600feedf2f9a Mon Sep 17 00:00:00 2001 From: "Anup (OpenERP)" <ach@tinyerp.com> Date: Tue, 11 May 2010 16:25:08 +0530 Subject: [PATCH] [FIX] Copy() of ir_model_fields corected bzr revid: ach@tinyerp.com-20100511105508-n4png61qm0w8ctot --- bin/addons/base/ir/ir_model.py | 4 +++- bin/osv/orm.py | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/bin/addons/base/ir/ir_model.py b/bin/addons/base/ir/ir_model.py index 40c12461bc8f..ffb2d31b9097 100644 --- a/bin/addons/base/ir/ir_model.py +++ b/bin/addons/base/ir/ir_model.py @@ -260,6 +260,8 @@ class ir_model_fields(osv.osv): if 'model_id' in vals: model_data = self.pool.get('ir.model').browse(cr, user, vals['model_id']) vals['model'] = model_data.model + if context is None: + context = {} if context and context.get('manual',False): vals['state'] = 'manual' res = super(ir_model_fields,self).create(cr, user, vals, context) @@ -267,7 +269,7 @@ 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_' !")) - if 'relation' in vals and not self.pool.get('ir.model').search(cr, user, [('model','=',vals['relation'])]): + if vals.get('relation',False) 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']): diff --git a/bin/osv/orm.py b/bin/osv/orm.py index 6a96f22ff404..76bca6772248 100644 --- a/bin/osv/orm.py +++ b/bin/osv/orm.py @@ -276,7 +276,7 @@ class browse_record(object): else: new_data[n] = data[n] self._data[data['id']].update(new_data) - + if not name in self._data[self._id]: #how did this happen? self.logger.notifyChannel("browse_record", netsvc.LOG_ERROR, @@ -438,7 +438,7 @@ class orm_template(object): 'name': k, 'field_description': f.string.replace("'", " "), 'ttype': f._type, - 'relation': f._obj or 'NULL', + 'relation': f._obj or '', 'view_load': (f.view_load and 1) or 0, 'select_level': tools.ustr(f.select or 0), 'readonly':(f.readonly and 1) or 0, -- GitLab