这是我的py
purchase_type = fields.Selection([
('import', 'Import'),
('local', 'Local'),
], string='Purchase Type')
这是我的xml
<button name="action_approve" string="Approve" type="object" states="confirm" groups="ts_addons_tbk.group_tbk_director,ts_addons_tbk.group_tbk_exim,ts_addons_tbk.group_tbk_manager" />
我想使按钮只在purchase_type为import且组为ts_addons_tbk时可见。Group_tbk_director和ts_addons_tbk.group_tbk_exim。谢谢你,先生。
您可以使用attrs
:
attrs="{'invisible': [('purchase_type', '!=', 'import')]}">
根据文档(查看列表视图按钮链接):
states is shorthand for invisible attrs
和应该是一个状态列表,逗号分隔,要求模型有一个状态字段,并且它在视图中使用。
Odoo警告states
与attrs
结合使用:
将状态与attrs结合使用可能会导致意想不到的结果,因为域与逻辑AND结合使用。
编辑:
可以删除states
,只使用attrs
(OR操作符):
attrs="{'invisible': ['|', ('purchase_type', '!=', 'import'), ('state', '!=', 'confirm')]}"