odoo 打开form 视图 默认为编辑状态

2023-11-12

为了编辑方便,客户会经常要求 odoo 打开form 视图
默认为编辑状态 或者根据某些条件 为编辑状态

下面介绍两种方式进行

1、在form 初始化加载时进行拦截,设置属性打开编辑状态



    FormView.include({

        /***
         * ,满足条件,form 视图打开时默认编辑
         */
        init: function (parent, dataset, views, flags, options) {
            var self = this;

            var index = dataset.index;
            var row_id = dataset.ids[index];
            var res_model = '';
            if (flags && flags.action) {
                res_model = flags.action.res_model;
            }
            if (res_model && row_id) {
                var clicks = new Model(res_model);
                clicks.call('check_is_true', [res_model, row_id]).done(function (message) {
                    if (message) {
                        flags.initial_mode = 'edit';
                        flags.form = {'action_buttons': true, 'options': {'mode': 'edit'}};
                    }
                });
            }

            self._super.apply(self, arguments);
        }
    });



2、在用户点击 行 时,进行拦截,然后判断增加属性 再跳转

 ListView.List.include({

        row_clicked: function (e) {
            var self = this;
            var index = self.dataset.index;
            var row_id = self.dataset.ids[index];
            var res_model;
            var result = this._super.apply.bind(this._super, this, arguments);
            if (self.options.action) {
                res_model = self.options.action.res_model;
            } else {
                return result();
            }
            var clicks = new Model(res_model);
            return clicks.call('check_is_true', [res_model, row_id]).done(function (message) {
                if (message) {
                    var action = {
                        'type': 'ir.actions.act_window',
                        'res_model': self.options.action.res_model,
                        'res_id': row_id,
                        'views': [self.options.action.views[1]],
                        'view_mode': self.options.action.view_mode,
                        'target': self.options.action.target,
                        'flags': {'form': {'action_buttons': true, 'options': {'mode': 'edit'}}},
                    };
                    if (row_id) {
                        return self.view.do_action(action);
                    }
                } else {
                    return result();
                }
            });

        }
    });
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

odoo 打开form 视图 默认为编辑状态 的相关文章

随机推荐

  • 蓝桥杯小白必看 —— Python

    蓝桥杯小白必看 Python 文章目录 蓝桥杯小白必看 Python 一 Python比赛规则 二 Python3 8 6的IDLE环境 1 官网下载地址 2 让编译器显示行数 3 设置自动保存 4 设置页面字体大小 5 快捷键的使用 三
  • 操作系统王道考研复习——第二章(进程管理) 上

    操作系统王道考研复习 第二章 进程管理 上 2 进程管理 2 1 程序执行 2 1 1 程序顺序执行的特征 2 1 2 程序并行执行的特征 2 2 进程与线程 2 2 1 进程的概念和特征 1 程序和进程的区别 2 进程的组成 PCB 程序
  • java删除指定路径下的全部内容

    1 使用过程当中有时会用到清空文件夹的操作 首先传入指定文件夹地址 利用递归的方式清空该文件夹下的全部文件 以及子文件夹 public static void deleteFile File file 判断文件不为null或文件目录存在 i
  • 《Unity Shader入门精要》自学笔记(七)第九章 更复杂的光照 ——光照衰减

    帧调试器FrameDebugger 又是一个好玩的小玩具好用的小工具呢 可以通过Window Analysis Frame Debugger打开 然后点击左上角的Enable 就可以查看了 点击1打开或关闭Frame Debugger 滑动
  • springboot实现ApplicationContextAware接口、使用ThreadLocal获得当前上下文请求的HttpServletRequest

    前端请求的参数可以用requestparam requestbody获得 也可以用HttpServletRequest来获得参数 这里讲用HttpServletRequest来获取前端参数的办法 举例 GetMapping index do
  • 全国计算机等级考试题库二级C操作题100套(第75套)

    第75套 给定程序中 函数fun的功能是 对形参ss所指字符串数组中的M个字符串按长度由短到长进行排序 ss所指字符串数组中共有M个字符串 且串长
  • 从python入门到机器学习的心得贴(持续更新ing

    仅代表个人看法 大学的编程是C语言入的门 专业上的使用也是C语言为主 非码农 但个人觉得 作为21世纪的新新人类 python的工程的各个领域都有融合的价值 于是抽空就把python入了门 一 入门之路 开始也不知道该从哪儿开始 之后看到一
  • 行列式与矩阵的区别

    1 行列式的本质是线性变换的放大率 而矩阵的本质就是个数表 2 行列式行数 列数 矩阵不一定 行数列数都等于n的叫n阶方阵 二者的表示方式亦有区别 3 行列式与矩阵的运算明显不同 1 相等 只有两个同型的矩阵才有可能相等 并且要求对应元素都
  • PyTorch深度学习——Anaconda和PyTorch安装

    一 Anaconda安装 前言 安装anaconda后主要有一下3点好处 1 包含环境管理器conda 2 大量安装基于python的工具包 3 可以创建使用和管理不同的python版本 附上百度百科的解释 下载步骤 1 官网下载anaco
  • Linux部署Nginx并配置https

    1 下载nginx安装包 wget http nginx org download nginx 1 21 6 tar gz 2 解压压缩包 tar zvxf nginx 1 21 6 tar gz 3 初始化configure 配置conf
  • C语言——猜数字小游戏

    实现一个猜数字的小游戏 gt 首先要用的c语言的随机生成数 在C语言中 我们一般使用
  • import-module的注意事项与NDK_MODULE_PATH的配置

    具体的语句多参考其他正确的Android mk import module的功能 导入外部模块的 mk文件 和 include基本一样 概念上的区别是include导入的是由我们自己写的 mk 而import module导入的是外部库 外
  • C语言中设置文字颜色

    记得刚接触C语言时 上机运行代码输出结果每次都是黑色的控制台白色的文字 就像下面这样 视觉体验极差 十分的不美观 感觉很low 这就引发了我的思考 输出结果必须是黑框白字吗 显然不是这样的 我们可以自己设置文字和文本颜色 那么该如何设置呢
  • VS CODE 离线插件下载

    VS CODE 离线插件下载 老方法 一 进入VSCODE 插件下载官网 二 搜索需要下载的插件 三 进行地址替换 四 下载 五 在windows环境下安装插件 新方法 一 进入VSCODE 插件下载官网 二 搜索需要下载的插件 三 下载
  • 【原創】checkstyle配置文件说明(checkstyle 3.5)

    属性 说明 basedir 代码所在的位置 AbstractClassName format 定义抽象类的命名规则 PackageName format 定义包名的命名规则 TypeName format 定义类和接口的命名规则 token
  • 警惕!MySQL成数据勒索新目标

    据最新报道显示 继MongoDB和Elasticsearch之后 MySQL成为下个数据勒索目标 从2月12日凌晨开始 已有成百上千个开放在公网的MySQL数据库被劫持 删除了数据库中的存储数据 攻击者留下勒索信息 要求支付比特币以赎回数据
  • Kibana常用命令

    Kibana常用命令 查看集群的健康情况 GET cat health v 查看节点的情况 GET cat nodes v 查询各个索引状态 GET cat indices v 创建索引 PUT movie index 查看某一个索引的分片
  • 9月17日星期二 恒指/美原油/美黄金 走势分析

    财经早餐 2019年09月17日星期二 重点关注的财经数据与事件 09 30 中国70个大中城市住宅销售价格月报 09 30 澳洲联储公布9月货币政策会议纪要 17 00 德国及欧元区9月ZEW经济景气指数 21 15 美国8月工业产出月率
  • idea删除模块后重新创建显示该模块已经被注册

    idea删除模块后重新创建显示该模块已经被注册 原因 注册信息没有删除干净 解决方案 找到gradle xml modules xml workspace xml文件 进一步删除模块信息
  • odoo 打开form 视图 默认为编辑状态

    为了编辑方便 客户会经常要求 odoo 打开form 视图 默认为编辑状态 或者根据某些条件 为编辑状态 下面介绍两种方式进行 1 在form 初始化加载时进行拦截 设置属性打开编辑状态 FormView include 满足条件 form