Files
bank-payment/account_banking_payment_transfer/workflow/account_payment.xml
Stéphane Bidoul 424c4067cb [IMP] split account_banking_payment from account_banking
We drop the bank statement related part and we manage
the state of payment order with workflow transitions
triggered by the reconciliation of moves lines on the
transfer account.
2015-01-06 15:29:39 +01:00

93 lines
4.4 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<!-- New activity for workflow payment order: sent -->
<record id="act_sent" model="workflow.activity">
<field name="name">sent</field>
<field name="wkf_id" ref="account_payment.wkf_payment_order"/>
<field name="action">action_sent()</field>
<field name="kind">function</field>
</record>
<!-- New activity for workflow payment order: sent -->
<record id="act_sent_wait" model="workflow.activity">
<field name="name">sent_wait</field>
<field name="wkf_id" ref="account_payment.wkf_payment_order"/>
<field name="action">write({'state': 'sent'})</field>
<field name="kind">function</field>
</record>
<!-- New activity for workflow payment order: rejected -->
<record id="act_rejected" model="workflow.activity">
<field name="name">rejected</field>
<field name="wkf_id" ref="account_payment.wkf_payment_order"/>
<field name="action">action_rejected()
write({'state':'rejected'})</field>
<field name="kind">function</field>
</record>
<!-- Rewrite existing open -> done transition to include 'sent' stage -->
<record id="account_payment.trans_open_done" model="workflow.transition">
<field name="act_from" ref="account_payment.act_open"/>
<field name="act_to" ref="act_sent"/>
<field name="signal">sent</field>
</record>
<!-- the done signal continues to work but goes to sent -->
<record id="trans_open_done" model="workflow.transition">
<field name="act_from" ref="account_payment.act_open"/>
<field name="act_to" ref="act_sent"/>
<field name="signal">done</field>
</record>
<!-- From sent straight to sent_wait -->
<record id="trans_sent_sent_wait" model="workflow.transition">
<field name="act_from" ref="act_sent"/>
<field name="act_to" ref="act_sent_wait"/>
</record>
<!-- Reconciliation from the banking statement leads to done state -->
<record id="trans_sent_done" model="workflow.transition">
<field name="act_from" ref="act_sent_wait"/>
<field name="act_to" ref="account_payment.act_done"/>
<field name="condition">test_done()</field>
<field name="signal">done</field>
</record>
<record id="trans_sent_done_auto" model="workflow.transition">
<field name="act_from" ref="act_sent_wait"/>
<field name="act_to" ref="account_payment.act_done"/>
<field name="condition">test_done()</field>
<field name="trigger_model">account.move.line</field>
<field name="trigger_expr_id">get_transfer_move_line_ids()</field>
</record>
<!-- Rejected by the bank -->
<record id="trans_sent_rejected" model="workflow.transition">
<field name="act_from" ref="act_sent"/>
<field name="act_to" ref="act_rejected"/>
<field name="signal">rejected</field>
</record>
<!--
Transition to undo the payment order and reset to
sent, triggered by cancelling a bank transaction
with which the order was reconciled.
For this, we need to cancel the flow stop on the done state,
unfortunately.
-->
<record id="account_payment.act_done" model="workflow.activity">
<field name="action">action_done()
write({'state':'done'})</field>
<field name="flow_stop" eval="False"/>
</record>
<!-- Cancel the reconciled payment order -->
<record id="trans_done_sent" model="workflow.transition">
<field name="act_from" ref="account_payment.act_done"/>
<field name="act_to" ref="act_sent_wait"/>
<field name="condition">test_undo_done()</field>
<field name="signal">undo_done</field>
</record>
<record id="trans_done_sent_auto" model="workflow.transition">
<field name="act_from" ref="account_payment.act_done"/>
<field name="act_to" ref="act_sent_wait"/>
<field name="condition">test_undo_done()</field>
<field name="trigger_model">account.move.line</field>
<field name="trigger_expr_id">get_transfer_move_line_ids()</field>
</record>
</data>
</openerp>