Loading

通过button返回一个action,跳转到一个view

可以参考采购单的右侧按钮的写法。

简单讲,就是先通过xmlid获取到action_id,继而获取到action,修改action的相关信息,然后将结果返回,即可以实现跳转。

 

mod_obj = self.pool.get('ir.model.data')
        dummy,action_id = tuple(mod_obj.get_object_reference(cr,uid,'purchase','purchase_rfq'))
        action = self.pool.get('ir.actions.act_window').read(cr,uid,action_id,context=context)
        action['context']={}
        request = self.browse(cr,uid,ids[0],context=context)
        if request.purchase_id:
            action['domain']="[('id','=',"+str(request.purchase_id.id)+")]"
            action['views']=[(False,"form")]
            action['res_id']=request.purchase_id.id
            return action

 

注意,返回的action是一个Dictionary的结果,而不是action对象,否则将不能跳转。

action['views']=[(False,"form")]  views是action的一个属性,值为类似[(view_id,view_mode)]的格式,view_id为False,取默认的view值。

 

posted @ 2015-10-15 17:34  青岛欧姆网络科技  阅读(840)  评论(0编辑  收藏  举报