我设置了一个 ir.server.action 来响应模型何时保存并处于手动状态。但是重复保存会重复触发动作,所以我必须锁定数据库。目前我有这个:
<record id="filter_order_confirm" model="ir.filters">
<field name="name">By Confirmed Orders</field>
<field name="model_id">sale.order</field>
<field name="domain">[('state','=','manual')]</field>
</record>
<record id="action_schedule_emails" model="ir.actions.server">
<field name="state">code</field>
<field name="model_id" ref="sale.model_sale_order"/>
<field name="code">object.schedule_emails()</field>
<field name="type">ir.actions.server</field>
<field name="condition">True</field>
<field name="name">Schedule Emails</field>
</record>
<record id="rule_trigger_email_scheduling" model="base.action.rule">
<field name="name">Trigger email scheduling when Order is set to confirm.</field>
<field name="model_id" ref="sale.model_sale_order" />
<field name="kind">on_create_or_write</field>
<field name="filter_id" ref="filter_order_confirm" />
<field name="server_action_ids" eval="[(6,0,[ref('action_schedule_emails')])]" />
</record>
我该如何对工作流程中确认的订单做出反应?