如何在 Odoo 11 中根据状态隐藏编辑按钮

How to hide Edit button based on state in Odoo 11

如何在状态为"In Progress"时隐藏编辑按钮 我尝试像 this 那样做 ir.rule 但它不起作用它只过滤(域)我的树视图 我也尝试在 JavaScript 中这样做,但我找不到任何 odoo 11 样本

这可以通过插入条件 CSS.

来完成

首先添加一个 html 字段并将清理选项设置为 False:

x_css = fields.Html(
    string='CSS',
    sanitize=False,
    compute='_compute_css',
    store=False,
)

然后添加一个具有您自己的依赖项和条件的计算方法:

# Modify the "depends"
@api.depends('state_str_modify_me')
def _compute_css(self):
    for application in self:
        # Modify below condition
        if application.state_str_modify_me= 'In Progress':
            application.x_css = '<style>.o_form_button_edit {display: none !important;}</style>'
        else:
            application.x_css = False

最后将其添加到视图中:

<field name="x_css" invisible="1"/>