odoo 16中如何自定义state字段的statusbar_visible显示

问题描述 投票:0回答:1

我继承了mrp.product的视图,并编写xpath如下

  <xpath expr="//header//field[@name='state']" position="attributes">
                    <attribute name="statusbar_visible">draft,to_approve,approved,rejected</attribute>
  </xpath>

创建新记录时,我将保留 statusbar_visible = 草稿、to_approve、已批准、已拒绝 但是当记录的状态=已批准时,我想要statusbar_visible=草稿,已确认,进度,已完成,我该怎么办?

python xml state display odoo-16
1个回答
0
投票

尝试使用 2 个互斥的字段定义,例如:

<xpath expr="//header//field[@name='state']" position="attributes">
  <attribute name="statusbar_visible">draft,to_approve,rejected</attribute>
  <attribute name="attrs">{"invisible": [("state", "in", ["approved","confirmed","progress","done"])]}</attribute>
</xpath>
<xpath expr="//header//field[@name='state']" position="after">
  <field name="state" statusbar_visible="approved,confirmed,progress,done" attrs='{"invisible": [("state", "in", ["approved","confirmed","progress","done"])]}'/>
</xpath>
© www.soinside.com 2019 - 2024. All rights reserved.