odoo开发笔记--自定义server action页面跳转注意

场景描述:

在添加自定义服务器动作 “复制全部”后发现直接创建了新的记录,并且直接进入到form保存完的状态。

如何解决:

        if yourself_obj_copy:
            return {
                'type': 'ir.actions.act_window',
                'view_type': 'form',
                'view_mode': 'form',
                'res_model': '你的模块名.模型名',
                'res_id': yourself_obj_copy.id,
                'context': self.env.context,
                'flags': {'initial_mode': 'edit'},
            }

加上上方红色部分,就可以默认进入form视图的编辑状态。

这里需要注意一下:odoo自带的服务器动作 -- 复制  其实也不是复制,而是创建了一份新的直接保存了,

即使你点击复制进入新的编辑界面,这时不点“保存”,直接“丢弃”,其实是没有效果的,这条记录已经在点击“复制”的时候创建了。

 

页面跳转可以参考如下文章:

在odoo视图中有时点击按钮需要跳转到另一个视图,此时有如下参数需要注意

系统的默认值:
_defaults = {
        'type': 'ir.actions.act_window',
        'view_type': 'form',
        'view_mode': 'tree,form',
        'context': '{}',
        'limit': 80,
        'target': 'current',
        'auto_refresh': 0,
        'auto_search':True,
        'multi': False,
    }
# type: 动作类型,默认为ir.actions.act_window
# view_type: 跳转时打开的视图类型
# view_mode: 列出允许使用的视图模式
# context: 给目标视图传参数,如默认搜索之类的,如{‘search_default_group_assign’:1}
# limit: 列表视图一页的记录数
# target: 打开新视图的方式,current是在本视图打开,new是弹出一个窗口打开
# auto_refresh:为1时在视图中添加一个刷新功能
# auto_search:加载默认视图后,自动搜索
# multi:视图中有个更多按钮,若multi设为True, 更多按钮显示在tree视图,否则显示在form视图
 

以下内容是一些需特别注意的参数

# res_model:想打开视图的对应模块
# res_id: 参数为id,加载指定id的视图,但只在view_type为form时生效,若没有这个参数则会新建一条记录
# view_id: 参数是id,若一个模块有多于>1个视图时需要指定视图id,可根据视图名称去ir.ui.view模块搜索
# views:是(view_id,view_type) 元组对列表,第一组是动作默认打开的视图
# flags: 对视图面板进行一些设置,如{‘form’: {‘action_buttons’: True, ‘options’: {‘mode’: ‘edit’}}}即对form视图进行一些设置,action_buttons为True时调出编辑保存按钮,options’: {‘mode’: ‘edit’}时则打开时对默认状态为编辑状态
 
http://www.binqsoft.com/blog/2017/07/29/odoo%E8%AF%95%E5%9B%BE/
https://www.cnblogs.com/ygj0930/p/7150860.html
posted @ 2018-02-02 15:48  hello-Jesson  阅读(3336)  评论(0编辑  收藏  举报