Regal Paris
Regal Paris

Reputation: 339

Method return value to call another form in OpenERP

Currently, you can set to return value of an OpenERP to the following, to get the current form to be closed:

return {'type':'ir.actions.act_window_close' }

Is there a return value that would open another form instead? For example, in the Product form, buttons can call a sales form or a wizard form.

Upvotes: 3

Views: 6986

Answers (2)

yucer
yucer

Reputation: 5049

There is a function that gives you the act_window for a given xml_id.

def open_popup(self, cr, uid, ids, context=None):
    if move.parent_production_id:
        win_obj = self.pool.get('ir.actions.act_window')
        res = win_obj.for_xml_id(cr, uid, 'module_name', 'id_specified_for_the_view', context)
        return res

Upvotes: 2

OmaL
OmaL

Reputation: 5044

Following is an example function.Maybe helpful for you

def open_popup(self, cr, uid, ids, context=None):
    mod_obj = self.pool.get('ir.model.data')
    if move.parent_production_id:
        res = mod_obj.get_object_reference(cr, uid, 'module_name', 'id_specified_for_the_view')
        return {
            'name': 'Provide your popup window name',
            'view_type': 'form',
            'view_mode': 'form',
            'view_id': [res and res[1] or False],
            'res_model': 'your.popup.model.name',
            'context': "{}",
            'type': 'ir.actions.act_window',
            'nodestroy': True,
            'target': 'new',
            'res_id': record_id  or False,##please replace record_id and provide the id of the record to be opened 
        }

Upvotes: 7

Related Questions