order_line を編集可能に設定しましたが、下書きモードでない場合は削除ボタンを削除したいと考えています。次のことを試みましたが、削除ボタンが残ります:
<xpath expr="//field[@name='order_line']//tree" position="attributes">
<attribute name="delete" domain="[(parent.state,'!=','draft')]"/>
</xpath>
親の下書き状態に基づいて、delete=false を動的に設定することは可能ですか?
私はこれを試しました:
<record id="delete_drafts_only" model="ir.rule">
<field name="name">You can only delete items with draft parents</field>
<field name="model_id" ref="sale.model_sale_order_line"/>
<field name="global" eval="True"/>
<field name="domain_force">[('parent.state', '=', 'draft')]</field>
<field name="perm_unlink" eval="True"/>
</record>
と
<record id="delete_drafts_only" model="ir.rule">
<field name="name">You can only delete items with draft parents</field>
<field name="model_id" ref="sale.model_sale_order_line"/>
<field name="global" eval="True"/>
<field name="domain_force">[('parent.state', '!=', 'draft')]</field>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="True"/>
<field name="perm_create" eval="False"/>
<field name="perm_unlink" eval="False"/>
</record>
しかし、実際には当てはまらないようです。動作しているように見える唯一のことは、を操作することですir_model_access
が、それはグローバルに切り替えますが、これは私が望んでいるものではありません。