bzr revid: fp@tinyerp.com-20090421072335-2b63r0leg8qmxuqt
This commit is contained in:
Fabien Pinckaers 2009-04-21 09:23:35 +02:00
commit 183e761fd5
3 changed files with 11 additions and 8 deletions

View File

@ -750,10 +750,8 @@
<group colspan="2" col="2">
<separator string="Field Type" colspan="2"/>
<field name="ttype" select="2"/>
<field name="relation" attrs="{'required': [('ttype','in',['many2one','one2many','many2many'])],
'readonly': [('ttype','!=','one2many'), ('ttype','!=','many2one'), ('ttype','!=','many2many')]}"/>
<field name="relation_field" attrs="{'required': [('ttype','=','one2many')],
'readonly': [('ttype','!=','one2many')]}"/>
<field name="relation" attrs="{'required': [('ttype','in',['many2one','one2many','many2many'])],'readonly': [('ttype','!=','one2many'), ('ttype','!=','many2one'), ('ttype','!=','many2many')]}"/>
<field name="relation_field" attrs="{'required': [('ttype','=','one2many')], 'readonly': [('ttype','!=','one2many')]}"/>
<field name="selection" attrs="{'required': [('ttype','in',['selection','reference'])], 'readonly': [('ttype','not in',['selection','reference'])]}"/>
<field name="size" attrs="{'required': [('ttype','in',['char','reference'])], 'readonly': [('ttype','not in',['char','reference'])]}"/>
<field name="state"/>

View File

@ -243,9 +243,14 @@ class ir_model_fields(osv.osv):
if vals.get('state','base') == 'manual':
if not vals['name'].startswith('x_'):
raise except_orm(_('Error'), _("Custom fields must have a name that starts with 'x_' !"))
if self.pool.get(vals['model']):
self.pool.get(vals['model']).__init__(self.pool, cr)
self.pool.get(vals['model'])._auto_init(cr, {})
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']))
return res
ir_model_fields()

View File

@ -200,7 +200,7 @@ class ir_ui_menu(osv.osv):
if values_ids:
values_obj.write(cursor, user, values_ids[0], {'value': value},
context=ctx)
else:
elif ctx:
values_obj.create(cursor, user, {
'name': 'Menuitem',
'model': self._name,