[FIX] Custom Objects with x_name field
bzr revid: fp@tinyerp.com-20100419210117-2cuj8jdgrnh11pze
This commit is contained in:
parent
d5a0e08595
commit
f2f2bde0f3
|
@ -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()
|
||||
|
||||
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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','<>',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>
|
||||
|
|
Loading…
Reference in New Issue