diff options
| author | Fabien Pinckaers <fp@tinyerp.com> | 2010-04-19 23:01:17 +0200 |
|---|---|---|
| committer | Fabien Pinckaers <fp@tinyerp.com> | 2010-04-19 23:01:17 +0200 |
| commit | f2f2bde0f3c0a09c8eb0cb841d6f2171ad83c735 (patch) | |
| tree | 42665fba58753cd98aec1289be8cfc6508f77a16 /bin | |
| parent | d5a0e085956ab93348d8d945f9324950ef131659 (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.py | 8 | ||||
| -rw-r--r-- | bin/addons/base/ir/wizard/wizard_menu.py | 16 | ||||
| -rw-r--r-- | bin/addons/base/ir/wizard/wizard_menu_view.xml | 21 |
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','<>',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> |
