如何按条件隐藏表单上的编辑/创建按钮?

2024-01-01

我是一名新的 Odoo 开发人员,当我的表单进入自定义状态时,我需要隐藏编辑按钮,由于安全问题,我需要这个按钮。

当我尝试为表单提供属性时,XML 中的这段代码不起作用。

<record model="ir.ui.view" id="pesan_form_view">
    <field name="name">pesan_service_form</field>
    <field name="model">pesan.service</field>
    <field name="arch" type="xml">
    <form string="Booking Service" attrs="{edit:'false':[('state','in','baru')]}">
    <!-- structure of form -->
</record>

我不知道为什么它不起作用。


qWeb 条件不适用于FormView.

您可以在这里查看(path_to_odoo/addons/web/static/src/js/framework/view.js):

 /**
  * Return whether the user can perform the action ('create', 'edit', 'delete') in this view.
  * An action is disabled by setting the corresponding attribute in the view's main element,
  * like: <form string="" create="false" edit="false" delete="false">
  */
  is_action_enabled: function(action) {
      var attrs = this.fields_view.arch.attrs;
      return (action in attrs) ? JSON.parse(attrs[action]) : true;
  },

该方法从模板中调用FormView.buttons in path_to_odoo/addons/web/static/src/xml/base.xml:

<button t-if="widget.is_action_enabled('edit')"
    type="button"
    class="oe_form_button_edit btn btn-default btn-sm" accesskey="E">
    Edit
</button>

这些问题在 Odoo 中借助规则得到了解决(ir.ruleOdoo 的对象)

您可以在 GUI 中查找和编辑规则:设置(顶部菜单)-> 安全性(左侧菜单)-> 访问规则(左侧菜单)。使用管理员用户处于调试模式为了这。

同时你可以添加一些规则data.xml您的模块的导入。它们将在您安装或更新模块时添加。

当心!记录规则不适用于管理员用户 https://www.odoo.com/documentation/9.0/reference/security.html#record-rules.

同时您可以尝试扩展小部件FormView.

希望这对您有帮助。

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

如何按条件隐藏表单上的编辑/创建按钮? 的相关文章

  • 在 Odoo 中创建新组

    我创建了一个新组 它是一个人员组 但是在查看元数据中 我创建的新组没有 XML ID 我在哪里可以找到 XML ID 或添加新组的 XML ID 即使在外部 ID 中也是如此菜单 我找不到 ID 如何创建或编辑自定义组 打开设置 gt 用户
  • 如何覆盖odoo new api中字段的默认函数

    我有一个调用函数来获取默认值的字段 在模块project forecast中 def default user id self return self env user if default user id not in self env
  • 在弹出窗口中显示要删除的项目

    我正在使用 Odoo 10e 我想要一个简单的功能 每当我想从列表视图或仅从特定列表视图中删除一个或多个项目时 我想显示所有选择删除的项目 以在弹出窗口中显示其名称 以便用户可以快速查看他要删除的内容 我知道用户可以在列表视图中查看详细信息
  • Odoo - 使用 colspan 或可能是 col 进行视图定制

    我正在使用 odoo 10 e 早些时候我问了一个问题 我们如何合并两个或多个标头以针对多个字段显示一个标头合并 one2many 中的两个字段标题 https stackoverflow com questions 45377060 od
  • openerp中的父左和父右

    什么是父左和父右 它是如何运作的Openerp Thanks 正如拉斐尔 科莱 Raphael Collet 所解释的那样他关于 OpenERP Server 的回答 https answers launchpad net openobje
  • Magento API 的创建发票方法无法正常工作

    我正在尝试使用 XMLRPC 在 Android 应用程序中使用 Magento API 创建销售订单发票 我正在使用方法 sales order invoice create 用于创建发票 此方法在给定数量的响应中为我提供发票 ID 如中
  • 如何在 Odoo 模板语言中使用 if

    我正在尝试使用与 Django 中相同的功能 div class 在 Odoo 我有 div
  • 在 JavaScript 中取消转义 HTML 实体?

    我有一些与 XML RPC 后端通信的 JavaScript 代码 XML RPC 返回以下形式的字符串 img src myimage jpg 但是 当我使用 JavaScript 将字符串插入 HTML 时 它们会按字面意思呈现 我没有
  • Odoo 服务器无法在 Windows 10 中启动

    我在其官方社区版本页面上下载并安装了 odoo 13 然后当我安装一切正常并启动 odoo 时 浏览器会打开 localhost 8069 即 odoo 端口 并且不会打开任何内容 服务器只是不打开开始 我运行 odoo bin 这是我的错
  • 客户端Web - 如何随时获取当前记录ID

    我正在努力 基于工作流程状态的不同权限 https stackoverflow com questions 10994216 different permissions based on workflow state问题 但我正在努力解决这
  • 如何在odoo 10中添加、更新和删除Many2many字段记录?

    我正在向导中设置功能 该功能将执行以下操作 添加新记录并链接到当前现有记录Many2many Field 更新现有记录Many2many Field 删除当前已有的Many2many场地 向导模型和实际模型有两个Many2many fiel
  • 如何在 odoo 8 中导入 QOH

    我想通过 odoo 前端或使用后端 postgres 查询 更新 odoo 中的库存 我的股票价值保存在 csv 文件中 最后 我想批量更新现有数量 终于解决了 按照步骤操作即可 步骤1 1 gt 在仓库模块中选择产品 在列表视图中打开 2
  • 何时在 odoo 中使用 api.one 和 api.multi |打开程序?

    最近odoo 以前的OpenERP V8已经发布了 在新的 API 方法中引入了装饰器 在models py方法需要修饰 api one or api multi 参考odoo 文档 https www odoo com documenta
  • 在 odoo12 的表单视图中隐藏操作/更多按钮

    我想在 odoo12 中仅隐藏操作 更多按钮而不是打印按钮 我发现一些类似的问题在 odoo12 中不起作用 不是一个像样的答案 而是你的一个方向 源码中 我的版本是11 odoo 11 0 addons web static src js
  • 如何在ubuntu 12.0中更新openerp 7中的新模块? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 完成 在 ubuntu 12 0 中更新 openerp 7 中的新模块的所有可能方法 还有其他方法可以更新 ubuntu 12 0 中
  • XML-RPC Odoo - C# 多个搜索条件

    当使用 CookComputing XML RPC net 尝试仅使用一个条件搜索 mail notification 模型时 这相当简单 因为您只需调用 object args new object 1 object subargs ne
  • 无法在 odoo 10 Windows 中执行命令 lessc

    我想问一下在windows上安装odoo 10的问题 我有这样的错误 无法执行命令 lessc 我在另一篇文章中看到过这个问题 但他们的文章只是讨论 mac 和 ubuntu 服务器 而不是在 Windows 中 任何人都可以帮我解决这个
  • 在 C++ 和 Windows 中使用 XmlRpc

    我需要在 Windows 平台上使用 C 中的 XmlRpc 尽管我的朋友向我保证 XmlRpc 是一种 广泛可用的标准技术 但可用的库并不多 事实上 我只找到一个库可以在 Windows 上执行此操作 另外一个库声称 您必须做很多工作才能
  • Javascript - 对父母调用 super 父母?

    我在 Odoo 中定义了当前自定义 javascript 视图的扩展 openerp account move journal test function instance var t instance web t lt instance
  • 我可以在 Heroku 上部署 OpenERP 吗?

    只是想知道我可以在 Heroku 上部署 OpenERP Odoo 并使用 postgres 作为其 dbms 吗 以前有任何机构这样做过吗 期待回复 晚了两年 但现在就有可能 无耻插件 https github com odooku od

随机推荐