odoo动态隐藏表单的编辑按钮

2023-10-29

最近在做项目的时候遇到一个问题,其实之前也有遇到,就是说客户要求当一条记录的状态发生变化时,在指定状态的记录不可编辑,之前遇到这个问题是,所做的处理是保存的校验记录的状态,通过raise error的方式去阻止用户保存编辑,这种事后的处理客户不是很满意,经过一番研究,总算是从前端js的方向解决了这个问题。

核心代码:

1、 记录的模型动作

项目 my.project tree,form {'form_no_edit':[('state', '=', 'approval')]}

2、JS代码

odoo.define(‘my_module.hide_form_edit_btn’, function (require) {
“use strict”;
var FormView = require(‘web.FormView’);

FormView.include({
do_push_state: function (state) {
try {
var self = this;
this._super.apply(this, arguments);
var no_edit = this.options.action.context.form_no_edit
if(no_edit != undefined){
var result = this.compute_domain(no_edit);
if(resulttrue){
this. b u t t o n s . f i n d ( " . o f o r m b u t t o n s v i e w " ) . h i d e ( ) ; t h i s . buttons.find(".o_form_buttons_view").hide(); this. buttons.find(".oformbuttonsview").hide();this.buttons.find(".o_dropdown_toggler_btn").hide()
}else{
if(this.get(“actual_mode”)
“view”) {
this.$buttons.find(".o_form_buttons_view").show()
}
}
}
} catch (e) {

}
},
});
});

这个js全局有效,只要在context中获取到form_no_edit,并且form_no_edit=True,记录的表单视图的编辑按钮都会隐藏。

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

odoo动态隐藏表单的编辑按钮 的相关文章

  • 按属性首字母对对象数组进行分组

    我对此有点挣扎 自从我编码 JavaScript 以来已经有一段时间了 试图转换它 items data name john name james name joe name brian name bojan name billy name
  • 浮动:中心不起作用?

    我正在使用教程制作我的第一个 Tumblr 主题 我对此完全是新手 metadata a display inline block float center margin left 2 我希望帖子居中 但唯一有效的是 float left
  • Javascript dispatchEvent click 在 IE9 和 IE10 中不起作用

    我正在尝试在 ExtJs 中构建应用程序时模拟鼠标事件 例如单击 鼠标悬停等 我使用下面的代码来模拟点击 function triggerEvent element eventName if document createEvent var
  • 如何使用 jQuery 在悬停元素旁边显示一个 div?

    假设我有severaldiv 像这样 EDIT div class ProfilePic a href img src lib css img profile pic1 png alt class ProfilePicImg a div c
  • 隐藏加载失败的图片

    我有一个 Android 应用程序 它生成一些在本地 Webkit 视图中呈现的 HTML HTML 生成的细节实际上并不那么重要 除了 大部分来自一个地方 我无法改变它 HTML 周围的模板 包括页眉 页脚 HEAD 等 CSS 和 Ja
  • img设置flex-grow来填充flex容器剩余空间,它会导致flex内部溢出flex容器[重复]

    这个问题在这里已经有答案了 以下是我的代码 text1 溢出 Flex 容器 我期望 Flex 容器中的 img 文本和 img 填充 Flex 容器其余部分
  • 在 Angular 2+ 中进行 DOM 操作的正确方法

    我知道有一些类似的问题 但没有人回答我的问题 基本上 以角度方式操作 DOM 的正确方法是什么 比如说我有这个 html
  • Javascript:一般访问函数参数

    这是我所拥有的 var log function arg1 arg2 console log inside arg1 arg2 var wrap function fn return function args console log be
  • Backbone.js 和本地存储。必须指定“url”属性或函数

    我正在提高有关 Backbone js 的知识 并从教程中获取了此代码示例 http bardevblog wordpress com 2012 01 16 understanding backbone js simple example
  • 浏览器中的javascript:异步任务执行模型

    我正在尝试集中注意力并了解 javascript 异步在单线程浏览器环境中的工作原理 作为异步 我们可以同时处理计时器和 xhr 请求 现在假设我有类似下面的东西 function doStuff for var i 0 i lt 1000
  • 嵌套最小高度不起作用

    我有一个固定大小的绝对定位区域 其中滚动条包含可变大小的内容 现在我需要将内容包装在两个 div 中 这两个 div 至少与区域一样大 但会扩展以适合内容 div div div div content div div div div 要求
  • Mustache.js 只允许换行,转义其他 HTML

    我正在根据用户输入创建评论 并在用户单击 提交 后使用 Mustache js 渲染它们 我意识到我可以替换用户输入换行符 n with br 呈现为 HTML 中断 例如 myString replace n g br 我意识到我可以使用
  • 将字符转换为日期时间 odoo 9

    我有两个字符字段 从 odoo 中的 excel 或 csv 导入数据 time 1 fields Char string Time 1 time 2 fields Char string Time 2 result fields Floa
  • 如何根据父网格的标题复选框选择/取消选择所有子复选框

    我正在开发一个 Web 应用程序 其中包含嵌套在另一个数据网格中的数据网格 在父网格中 我在标题模板中有一个复选框 在子网格中的项目模板中有另一个复选框 功能是 1 如果我单击父复选框 则应检查子网格中的所有项目 反之亦然 2 我的子网格中
  • 静态资源和非静态资源有什么区别?

    我主要是一名前端开发人员 设计师 但最近我一直在探索端到端解决方案 昨天 我使用平均堆栈完成了一个 TODO 应用程序 并想开始探索我的 VPS 的部署选项 话虽这么说 有人建议我使用 nginx 作为反向代理来提供静态资源 不幸的是 我陷
  • 如何覆盖 CSS 模块文件中的全局 CSS?

    让我们说在我的global css我有一个 Next js 项目的文件 flex display flex justify content center align items center height 100 我也有一个Layout j
  • ajaxStart() 仅调用一次,但 ajaxComplete() 调用多次

    我想对页面上的每个 AJAX 请求进行调用 I read here http docs jquery com Ajax Events that ajaxStart 全局事件 如果启动 Ajax 请求并且当前没有其他 Ajax 请求正在运行
  • CSS,堆叠圆圈

    我想制作一些圆形 div 就像下面代码中的那样 不过 我希望它们彼此堆叠在一起 所以我想要一个蓝色圆圈 展开 在当前红色圆圈后面 但中心与红色圆圈相同 红色的必须在上面 这是我当前的代码 circles margin right auto
  • 如何使我的响应式网站在手机上支持“请求桌面网站”?

    我有一个响应灵敏的动态网站 Java Servlet 驱动且完全手工编码 由于它是一个返回数据表的科学站点 因此某些选项在较小的视口宽度下不可用 然而 可能有些用户更喜欢在桌面网站上挣扎才能访问这些选项 我希望适应他们 我的问题是 对于 i
  • 未终止的字符串文字

    我有一个 php 脚本 可以在我的服务器上上传 mp3 文件 我使用 上传 有一个事件 onSelect 文档 http www uploadify com documentation events onselect 当文件上传时调用 使用

随机推荐

  • Hexo标签插件的使用

    tag 插件 Tag Plugin 是 Hexo 提供的一种快速生成特定内容的方式 例如 在标准 Markdown 语法中 我们无法指定图片的大小 这种情景 我们即可使用标签来解决 Hexo 内置来许多标签来帮助写作者可以更快的书写 完整的
  • docker运行nginx为什么要使用 nginx -g 'daemon off;'

    1 docker容器跑着为啥会挂掉 docker 容器默认会把容器内部第一个进程 也就是pid 1的程序作为docker容器是否正在运行的依据 如果docker 容器pid挂了 那么docker容器便会直接退出 2 docker run的时
  • 用Pandas做数据清洗的常用操作!

    大家好 我是小z 今天给大家分享一篇pandas数据清洗的干货 作为一名数据分析师 每天都在完成各种数据分析需求 其中数据清洗是必不可少的一个步骤 一般而言 当提及数据清洗时 其实是主要包括了缺失值处理 重复值处理和异常值处理三类操作 本文
  • DML语法整理笔记

    目录 1 什么是DML 2 两种INSERT方式 2 1 方式一 2 2 方式二 2 3 INSERT特点 2 4 两种方式对比 3 UPDATE 3 1 修改单标记录 3 2 修改多表记录 4 DELETE 4 1 方式一 可以删全表也可
  • 线性回归实战---Abalone鲍鱼年龄预测

    线性回归实现Abalone鲍鱼年龄预测 文章目录 线性回归实现Abalone鲍鱼年龄预测 一 环境准备 数据集简介 二 线性回归基础知识 什么是线性回归 最小二乘法 求解线性回归问题 三 Python代码 四 结果分析 前面我们使用手动编写
  • 2023年江苏省中职网络安全Web渗透测试解析(超详细)

    一 竞赛时间 180分钟 共计3小时 二 竞赛阶段 1 访问地址http 靶机IP web1 分析页面内容 获取flag值 Flag格式为flag xxx 2 访问地址http 靶机IP web2 分析页面内容 获取flag值 Flag格式
  • 什么是DNS欺骗和ARP欺骗?有何区别?

    欺骗攻击是黑客比较常用的一种攻击方式 也是一种隐蔽性较高的网络攻击方式 目前欺骗攻击的主要方式有 IP欺骗 ARP欺骗 DNS欺骗 Web欺骗 电子邮件欺骗等 那么DNS欺骗和ARP欺骗的区别是什么 具体请看下文 DNS欺骗 DNS欺骗是一
  • DIY党的福利!鹅厂程序员教你200元以内制作专属分体键盘

    欢迎大家前往腾讯云 社区 获取更多腾讯海量技术实践干货哦 本文由VellHe发表于云 社区专栏 前言 作为一名程序员 键盘在手 天下我有啊 不整把高大上的键盘怎么提升B格 之前一直想买个机械键盘 听说机械键盘敲代码和玩游戏都特别爽 也是装B
  • 一款linux系统下的串口调试工具 - COMTransmit

    最近在调试linux下的串口的时候找到了一款好用且功能齐全的串口调试工具 跟大家分享一下 COMTransmit的安装 安装包下载地址 64位 链接 https pan baidu com s 1rxGhMtXYNApjhXquPtiW0w
  • 实时监听nacos中的服务上下线

    1 背景 在使用spring cloud gateway时 服务的上下线可能会没那么及时 这样就会导致在进行业务服重启时会出现部分用户请求接口出现503 服务不可用的情况 nacos client版本 1 4 1 spring cloud
  • msvcp120.dll丢失的解决方法(亲测可修复方的法)

    在运行某些软件的时候 计算机提示msvcp120 dll丢失 无法打开运行软件 在第一次遇到这个问题的时候 相信很多人都不知道是怎么回事 下面小编把msvcp120 dll是什么以及如何解决这个问题的详细方法给大家科普一下 问题描述 在使用
  • linux虚拟机安装完毕之后,ifconfig命令提示command not found

    用虚拟机安装了centos 然后参考链接 https blog csdn net qiruibbb article details 80804121 重新设置了网卡的配置 使虚拟机的系统可以正常上网之后 习惯性的敲了ifconfig 结果提
  • C/C++ 实现时间戳和时间结构体的相互转换、格林威治与本地时间的转换

    C C 实现时间戳和时间结构体的相互转换 格林威治与本地时间的转换 时间是具有周期性的 每间隔四年为一个闰年 时间戳是以1970 1 1 00 00 00开始到当前时间的秒数 查看日历你会发现 1970年为平年 1971年为平年 1972年
  • 虚幻引擎4控制台变量和命令

    虚幻引擎4控制台变量和命令 原文链接 https digilander libero it ZioYuri78 名称 帮帮我 r AccelPredrawBatchTime 当显示加载屏幕或类似的时候覆盖r PredrawBatchTime
  • Python 面试题2023

    原本链接 点击查看 https chat openai com share a4ffcfdc a939 4d9e 84b4 5d5145d6d193 chatgpt site xiaoi ai Python 面试八股 python面试八股
  • 计算机竞赛 基于生成对抗网络的照片上色动态算法设计与实现 - 深度学习 opencv python

    文章目录 1 前言 1 课题背景 2 GAN 生成对抗网络 2 1 简介 2 2 基本原理 3 DeOldify 框架 4 First Order Motion Model 5 最后 1 前言 优质竞赛项目系列 今天要分享的是 基于生成对抗
  • avue实现用户本地保存自定义配置字段属性及注意事项(基于tj-vue2-tools)

    avue实现用户本地保存自定义配置字段属性及注意事项 基于tj vue2 tools tj vue2 tools项目地址 https www npmjs com package tj vue2 tools 文档请看项目官方 依赖js bas
  • (python)实现用CPM算法划分社区(两种代码)

    CPM理论讲解 cpm算法学习笔记 蓝砂石的博客 CSDN博客 cpm算法 1 自己实现的代码将社区分为9个 有部分节点未分配社区 自己实现派系过滤算法 import numpy as np import networkx as nx fr
  • 人生若只如初见服务器维护,「北京服务器」人生若只如初见

    文 醉 琴弦 某媒体的编辑约我参与RO2的工作团队 最初并未欣然应允 RO是我第一个网游 亦是伴随我长大 见证我每个不同的人生阶段的载体 投入的感情也不言而喻 并不确定将来还能拿出多少热情投入到另个游戏中 所以迟迟没有答复 阴雨 连绵不绝
  • odoo动态隐藏表单的编辑按钮

    最近在做项目的时候遇到一个问题 其实之前也有遇到 就是说客户要求当一条记录的状态发生变化时 在指定状态的记录不可编辑 之前遇到这个问题是 所做的处理是保存的校验记录的状态 通过raise error的方式去阻止用户保存编辑 这种事后的处理客