Odoo 使用do_action打开form视图,target为current时,直接到编辑界面

来源:互联网 发布:秦舞阳13岁杀人知乎 编辑:程序博客网 时间:2024/05/17 05:37
  今天遇到一个需求,在上篇博客中做的合并发货功能,点击合并发货按钮后到达物流单的form视图,此时的物流单为临时保存状态,需要用户对物流单上的物流数据进行补全。此时就需要用户再点击编辑按钮,进入编辑状态,对物流单所需要的数据进行编辑。但产品给出的需求是,生成物流单后,显示的界面就是临时保存的编辑状态界面,本来想反对的这么做的,因为以前没做过,需要修改框架的js才能做到那种效果。最终在产品的要求下,我尝试去修改。
经过努力,终于达到那需求的效果。在执行do_action打开物流单的form视图时,target设置为current,添加flags参数,设置为{'form':{'action_buttons':true, 'options':{'mode':'edit'}}}。整体代码如下:
self.do_action({                        name: ctx['name'],                        type: 'ir.actions.act_window',                        res_model: 'logistics.bill',                        view_mode: 'form',                        view_type: 'form',                        views: [[false, 'form']],                        target: 'current',                        res_id: res_id,                        flags: {'form': {'action_buttons': true, 'options': {'mode': 'edit'}}},                        context: ctx,                        params: {                            model: self.dataset.model,                            // self.dataset.get_context() could be a compound?                            // not sure. action's context should be evaluated                            // so safer bet. Odd that timezone & al in it                            // though                            context: self.getParent().action.context,                        }                        }, {                            on_reverse_breadcrumb: function () {                                self.reload();                            },                            on_close: function () {                                self.reload();                            }                        });




希望能对有此需求的同学有帮助!
阅读全文
0 0