Openerp 如何根据条件隐藏窗体上的“编辑/创建”按钮?

Openerp 如何根据条件隐藏窗体上的“编辑/创建”按钮?,openerp,xml-rpc,odoo-8,Openerp,Xml Rpc,Odoo 8,我是一名新的Odoo开发人员,当我的表单进入自定义状态时,我需要隐藏编辑按钮,因为存在安全问题 当我试图给表单赋予属性时,XML中的这段代码不起作用 <record model="ir.ui.view" id="pesan_form_view"> <field name="name">pesan_service_form</field> <field name="model">pesan.service</field>

我是一名新的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>

pesan_服务表格
比桑服务
我不知道为什么它不起作用。

试试这段代码

<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': [('state', 'in', ['baru'])]}">
    <!-- structure of form -->
</record>

pesan_服务表格
比桑服务

qWeb条件不适用于
FormView

您可以在这里进行检查(路径为_-to _-odoo/addons/web/static/src/js/framework/view.js):

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

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

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

小心

同时,您可以尝试展开widget
FormView


希望这对您有所帮助。

当状态为“baru”时,您可以将所有字段设置为只读……我不知道v8,但此解决方案在v9上不起作用。我在odoo9中检查了这一点。请提供您使用的代码以了解更多详细信息。我检查了某个对象的名称<代码>
。这没有帮助。将其命名为
Char
字段。可能此解决方案仅适用于
字段。请选择
。当我继承某些视图时,此解决方案不适用于我。我做错了什么<代码>{'edit':[('state','in',['open'])]}
 /**
  * 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;
  },
<button t-if="widget.is_action_enabled('edit')"
    type="button"
    class="oe_form_button_edit btn btn-default btn-sm" accesskey="E">
    Edit
</button>