Odoo 15中如何按条件禁用树形视图中的自定义按钮?
树形视图按钮按记录动态禁用的解决方案
- 别用全局的
invisible或readonly,改用Odoo的attrs属性就能实现单条记录级别的按钮状态控制。 - 直接在按钮的XML定义里加
attrs,通过disabled键绑定你的判断条件,示例代码:
上面的代码会让状态为completed的记录对应的按钮禁用,其他记录的按钮正常可用。<tree> <!-- 其他字段 --> <button name="action_your_method" string="目标按钮" type="object" attrs="{'disabled': [('state', '=', 'completed')]}"/> </tree> - 多条件组合的话,用逻辑运算符拼接就行,比如要同时满足两个条件:
意思是记录状态为completed且金额小于100时,按钮禁用。attrs="{'disabled': ['&', ('state', '=', 'completed'), ('amount', '<', 100)]}" - 注意:用来判断的字段(比如
state、amount)必须是当前模型已有的字段,且当前用户有权限读取这些字段,不然条件判断不生效。
内容的提问来源于stack exchange,提问作者reyhane janboori
相关产品推荐
相关产品推荐

