0
votes

I'm developing an openerp module and I want to make multiple form views of the same database object (res_model) each form displays certain fields with a certain layout.

I need to show one of them when I click on a menu item, and the other will be shown when I click a button on a form using the return statement:

return {
        'name': 'convert',
        'view_type': 'form',
        'view_mode': 'tree,form',
        'res_model': 'orders',
        'views': [(True, 'form')],
        'view_id': 'convert_req_to_order',
        'type': 'ir.actions.act_window',
        'domain': "[('order_type','=','0')]",
        }

But it always shows one form.

Is it possible to make multiple form views or multiple tree views of the same database object?

1

1 Answers

0
votes

yes ofcourse that's possible. try your return the following way:

mod_obj = self.pool.get('ir.model.data')
form_view_ref = mod_obj.get_object_reference(cr, uid, '_your_module_name_', 'convert_req_to_order')

return {
        'name': 'convert',
        'view_type': 'form',
        'view_mode': 'form',
        'view_id': [form_view_ref and form_view_ref[1] or False],
        'res_model': 'orders',
        'context': context, # optional
        'type': 'ir.actions.act_window',
        'nodestroy': True,
        'target': 'current', # for current window, 'new' for popup
        #'res_id': actual_instance.id, # id for record, else new record
        }

don't forget to substitute '_your_module_name_' ;-)