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.
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
}
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
来源:https://stackoverflow.com/questions/12634031/method-return-value-to-call-another-form-in-openerp