summaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorFabien Pinckaers <fp@tinyerp.com>2010-04-19 23:01:17 +0200
committerFabien Pinckaers <fp@tinyerp.com>2010-04-19 23:01:17 +0200
commitf2f2bde0f3c0a09c8eb0cb841d6f2171ad83c735 (patch)
tree42665fba58753cd98aec1289be8cfc6508f77a16 /bin
parentd5a0e085956ab93348d8d945f9324950ef131659 (diff)
[FIX] Custom Objects with x_name field
bzr revid: fp@tinyerp.com-20100419210117-2cuj8jdgrnh11pze
Diffstat (limited to 'bin')
-rw-r--r--bin/addons/base/ir/ir_model.py8
-rw-r--r--bin/addons/base/ir/wizard/wizard_menu.py16
-rw-r--r--bin/addons/base/ir/wizard/wizard_menu_view.xml21
3 files changed, 14 insertions, 31 deletions
diff --git a/bin/addons/base/ir/ir_model.py b/bin/addons/base/ir/ir_model.py
index a4afff1973d..670fb420bd2 100644
--- a/bin/addons/base/ir/ir_model.py
+++ b/bin/addons/base/ir/ir_model.py
@@ -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()
diff --git a/bin/addons/base/ir/wizard/wizard_menu.py b/bin/addons/base/ir/wizard/wizard_menu.py
index ab48e6071bf..7468b4da4b6 100644
--- a/bin/addons/base/ir/wizard/wizard_menu.py
+++ b/bin/addons/base/ir/wizard/wizard_menu.py
@@ -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,
diff --git a/bin/addons/base/ir/wizard/wizard_menu_view.xml b/bin/addons/base/ir/wizard/wizard_menu_view.xml
index 510a816099e..b1e9b6e5ccc 100644
--- a/bin/addons/base/ir/wizard/wizard_menu_view.xml
+++ b/bin/addons/base/ir/wizard/wizard_menu_view.xml
@@ -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>