场景描述:

解决方式:

网络搜索,vnsoft_form_hide_edit 找到了这个odoo8的模块,

odoo10语法和视图界面有新的变化,所以需要修改一些地方,感兴趣的小伙伴可以对比下两个代码的不同。

odoo10:

注意:该js代码是全局生效的。

odoo.define('vnsoft_form_hide_edit', function (require) {
"use strict";
var FormView = require('web.FormView'); FormView.include({do_push_state: function (state) {
// alert("hahahahahaha");
try {
var self = this;
this._super.apply(this, arguments);
var no_edit = this.options.action.context.form_no_edit
// console.log("%o",no_edit);
if(no_edit!=undefined){
var result = this.compute_domain(no_edit);
// console.log("%o",result);
if(result==true){
this.$buttons.find(".o_form_buttons_view").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) {
{ /* empty */ }
}
}
}
);
});

关键部分:视图里边添加限制条件,来根据定义的条件,动态显示编辑按钮--显示or隐藏

        <record id="your_test_action" model="ir.actions.act_window">
<field name="name">测试视图</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">teset.test_dec</field>
<field name="view_mode">tree,form</field>
<field name="context">{ 'form_no_edit':['|',('state','in',['submitted','approved']),
('city', 'in', ['beijing','shanghai'])],}
</field>

<field name="view_id" ref="customs_declaration_tree"/>
</record>

当form视图的相关字段: 字段(state状态)的值在“提交”或者“批准”时,

或者 字段(city城市)的值在“北京”或者”上海“的条件下,当前界面左上角的”编辑“按钮就会隐藏。

odoo开发笔记 -- odoo10 视图界面根据字段状态,动态隐藏创建&编辑按钮的更多相关文章

  1. odoo开发笔记 -- tree视图按指定字段group_by分组显示

    注意点: view视图文件中的搜索视图要放在action视图的前边. 在action视图中,要写search_view_id, 还有context, search_default_group_by_字 ...

  2. odoo开发笔记 -- 搜索视图继承扩展

    odoo开发笔记 -- 搜索视图继承扩展

  3. odoo开发笔记 -- 用户配置界面如何增加模块访问权限

    在odoo设置界面,点击用户,进入用户配置界面,会看到: 访问权 | 个人资料菜单 在访问权 page菜单界面,可以看到系统预制的一些模块都会显示在这里, 那么,我们自己开发的模块如何显示在这块呢,从 ...

  4. odoo开发笔记--from视图隐藏顶部&tree视图保留

    场景描述: 开发过程中,有时候我们需要去除odoo自带的一些样式, 比如,form视图,要集成自定义的界面时,就希望把顶部的服务动作 和 分页按钮 隐藏掉. 处理方式: 分两种情况: 1. 保留顶部区 ...

  5. odoo开发笔记--form视图自定义

    form视图自定义的两种场景: 1. 自己重写form视图样式文件 2. form视图,嵌入第三方的系统.

  6. odoo开发笔记--form视图按钮样例

    如图: 对应后台views视图,class可选内容值: class="oe_highlight" class="btn-xs" class="btn- ...

  7. odoo开发笔记 -- div标签代替odoo button写法

    odoo开发笔记 -- div标签代替odoo button写法 并调用自定义js <footer> <div id="confirm_request_cloud_repo ...

  8. odoo开发笔记 -- 后台日志输出及分析

    odoo开发笔记 -- 后台日志输出及分析 附:日志分析软件

  9. odoo开发笔记 -- 模型一对多tree视图弹窗效果实现

    实现效果参考: 1. 开发者模式 -- 设置 -- 工作流 -- 编辑 -- 添加项目 2. 会计模块 -- 管理 -- 付款条款 -- 编辑/创建 实现方式,很简单.只要视图界面写个一对多关联字段就 ...

随机推荐

  1. Vim编辑器入门

    vim(vimsual)是Linux/UNIX系列OS中通用的全屏编辑器. vim分为两种状态,即命令状态和编辑状态,在命令状态下,所键入的字符系统均作命令来处理,如:q代表退出,而编辑状态则是用来编 ...

  2. 启动tomcat报错Caused by: java.io.FileNotFoundException: class path resource [io/renren/controller/NodeDataController] cannot be opened because it does not exist

    ?? 清理项目,再重启服务就好了.........

  3. base64编码理解

    原文地址:http://www.ruanyifeng.com/blog/2008/06/base64.html 所谓Base64,就是说选出64个字符----小写字母a-z.大写字母A-Z.数字0-9 ...

  4. 下载编译安装Apache HTTP Server 2.4.23以及配置HTTP/HTTPS反向代理

    http://blog.csdn.net/gangchengzhong/article/details/52910225 [注意,在编译make时出现的错误并不是文章中说的openssl的版本问题,而 ...

  5. DOM3级的变化

    由于存在跨浏览器开发问题所以不推荐使用: 兼容性: event.key 包含所按下键的字符 event.char 属性IE9和safari和chrome并不支持 event.location 返回所按 ...

  6. 百度Web Uploader组件实现文件上传(一)

    Web Uploader WebUploader是由Baidu WebFE(FEX)团队开发的一个简单的以HTML5为主,FLASH为辅的现代文件上传组件.在现代的浏览器里面能充分发挥HTML5的优势 ...

  7. ArcGIS的地理坐标系与大地坐标系

    一直以来,总有很多朋友针对地理坐标系.大地坐标系这两个概念吃不透.近日,在网上看到一篇文章介绍它们,非常喜欢.所以在此转发一下,希望能够对制图的朋友们有所帮助. 地理坐标:为球面坐标. 参考平面地是  ...

  8. silverlight学习之页面传值篇

    1.silverlight 实现页面导航跳转   (1)利用根视图    A.修改App.xmal.cs     //使用根视图实现页面导航跳转        //申明一个Grid对象         ...

  9. 16-margin的用法

    margin塌陷问题 当时说到了盒模型,盒模型包含着margin,为什么要在这里说margin呢?因为元素和元素在垂直方向上margin里面有坑. 我们来看一个例子: html结构: <div ...

  10. 2018-04-11 activity周期

    android相机开发 1.Android wifi热点连接过程 2.bindservice和AIDLhttps://blog.csdn.net/zhou_wenchong/article/detai ...