[FIX] Custom Objects with x_name field

bzr revid: fp@tinyerp.com-20100419210117-2cuj8jdgrnh11pze
This commit is contained in:
Fabien Pinckaers 2010-04-19 23:01:17 +02:00
parent d5a0e08595
commit f2f2bde0f3
3 changed files with 14 additions and 31 deletions

View File

@ -99,8 +99,12 @@ class ir_model(osv.osv):
pass
x_custom_model._name = model
x_custom_model._module = False
x_custom_model.createInstance(self.pool, '', cr)
x_custom_model._rec_name = 'x_name'
a = x_custom_model.createInstance(self.pool, '', cr)
if (not a._columns) or ('x_name' in a._columns.keys()):
x_name = 'x_name'
else:
x_name = a._columns.keys()[0]
x_custom_model._rec_name = x_name
ir_model()

View File

@ -26,32 +26,18 @@ class wizard_model_menu(osv.osv_memory):
'model_id': fields.many2one('ir.model','Object', required=True),
'menu_id': fields.many2one('ir.ui.menu', 'Parent Menu', required=True),
'name': fields.char('Menu Name', size=64, required=True),
'view_ids': fields.one2many('wizard.ir.model.menu.create.line', 'wizard_id', 'Views'),
}
_defaults = {
'model_id': lambda self,cr,uid,ctx: ctx.get('model_id', False)
}
def menu_create(self, cr, uid, ids, context={}):
for menu in self.browse(cr, uid, ids, context):
view_mode = []
views = []
for view in menu.view_ids:
view_mode.append(view.view_type)
views.append( (0,0,{
'view_id': view.view_id and view.view_id.id or False,
'view_mode': view.view_type,
'sequence': view.sequence
}))
val = {
'name': menu.name,
'res_model': menu.model_id.model,
'view_type': 'form',
'view_mode': ','.join(view_mode)
'view_mode': 'tree,form'
}
if views:
val['view_ids'] = views
else:
val['view_mode'] = 'tree,form'
action_id = self.pool.get('ir.actions.act_window').create(cr, uid, val)
self.pool.get('ir.ui.menu').create(cr, uid, {
'name': menu.name,

View File

@ -9,16 +9,9 @@
<field name="arch" type="xml">
<form string="Create Menu">
<field name="name"/>
<field name="menu_id"/>
<field name="menu_id" domain="[('parent_id','&lt;&gt;',False)]"/>
<field name="model_id"/>
<newline/>
<field colspan="4" name="view_ids">
<tree editable="bottom" string="Views">
<field name="sequence"/>
<field name="view_type"/>
<field name="view_id"/>
</tree>
</field>
<separator colspan="4" string=""/>
<label colspan="2" string=""/>
<group col="2" colspan="2">
<button special="cancel" string="Cancel" icon="gtk-cancel"/>
@ -29,11 +22,11 @@
</record>
<act_window context="{'model_id': active_id}" id="act_menu_create" name="Create Menu" res_model="wizard.ir.model.menu.create" target="new" view_mode="form"/>
<wizard
id="wizard_server_action_create"
model="ir.actions.server"
name="server.action.create"
string="Create Action"
menu="False"
id="wizard_server_action_create"
model="ir.actions.server"
name="server.action.create"
string="Create Action"
menu="False"
/>
</data>
</openerp>