oo_nan_prodlot_quality_control/prodlot_workflow.xml

149 lines
6.5 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record id="wkf_prodlot" model="workflow">
<field name="name">stock.production.lot.basic</field>
<field name="osv">stock.production.lot</field>
<field name="on_create">True</field>
</record>
<!-- Activity -->
<record id="act_draft" model="workflow.activity">
<field name="wkf_id" ref="wkf_prodlot"/>
<field name="name">draft</field>
<field name="flow_start">True</field>
<field name="kind">function</field>
<field name="action">action_workflow_draft()</field>
<field name="signal_send">subflow.draft</field>
</record>
<record id="act_next_test" model="workflow.activity">
<field name="wkf_id" ref="wkf_prodlot"/>
<field name="name">next_test</field>
<field name="kind">function</field>
<field name="action">action_workflow_next_test()</field>
</record>
<record id="act_pending_test" model="workflow.activity">
<field name="wkf_id" ref="wkf_prodlot"/>
<field name="name">pending_test</field>
<field name="kind">subflow</field>
<field name="subflow_id" ref="nan_quality_control.wkf_qc_test"/>
<field name="action">action_workflow_pending_test()</field>
</record>
<record id="act_valid" model="workflow.activity">
<field name="wkf_id" ref="wkf_prodlot"/>
<field name="name">valid</field>
<field name="kind">function</field>
<field name="action">action_workflow_valid()</field>
<field name="signal_send">subflow.valid</field>
</record>
<record id="act_test_failed" model="workflow.activity">
<field name="wkf_id" ref="wkf_prodlot"/>
<field name="name">test_failed</field>
<field name="kind">subflow</field>
<field name="subflow_id" ref="nan_quality_control.wkf_qc_test"/>
<field name="action">action_workflow_test_failed()</field>
<field name="signal_send">subflow.test_failed</field>
</record>
<record id="act_cancel" model="workflow.activity">
<field name="wkf_id" ref="wkf_prodlot"/>
<field name="name">cancel</field>
<field name="kind">function</field>
<field name="action">action_workflow_cancel()</field>
<field name="signal_send">subflow.cancel</field>
</record>
<!-- Transistion -->
<record id="trans_draft_next_test" model="workflow.transition">
<field name="act_from" ref="act_draft"/>
<field name="act_to" ref="act_next_test"/>
<field name="signal">confirm</field>
</record>
<!-- Next Test Output Transitions -->
<record id="trans_next_test_pending_test" model="workflow.transition">
<field name="act_from" ref="act_next_test"/>
<field name="act_to" ref="act_pending_test"/>
<field name="condition">test_pending_test()</field>
</record>
<record id="trans_next_test_valid" model="workflow.transition">
<field name="act_from" ref="act_next_test"/>
<field name="act_to" ref="act_valid"/>
<field name="condition">test_valid()</field>
</record>
<!-- Pending Test Output Transitions -->
<record id="trans_pending_test_next_test" model="workflow.transition">
<field name="act_from" ref="act_pending_test"/>
<field name="act_to" ref="act_next_test"/>
<!-- <field name="condition">test_valid()</field> -->
<field name="signal">subflow.success</field>
</record>
<record id="trans_pending_test_test_failed" model="workflow.transition">
<field name="act_from" ref="act_pending_test"/>
<field name="act_to" ref="act_test_failed"/>
<field name="signal">subflow.failed</field>
</record>
<record id="trans_pending_test_cancel" model="workflow.transition">
<field name="act_from" ref="act_pending_test"/>
<field name="act_to" ref="act_cancel"/>
<!--
To be able to go out of 'subflow' activity without subflow signal,
the workitem must to be disassociated of any subflow.
It could be done with 'force_cancel' function which after raise
'cancel' signal -->
<field name="condition">test_not_qc_test_subflow()</field>
<field name="signal">cancel</field>
</record>
<!-- Valid Output Transitions -->
<record id="trans_valid_next_test" model="workflow.transition">
<field name="act_from" ref="act_valid"/>
<field name="act_to" ref="act_next_test"/>
<field name="condition">test_pending_test()</field>
<field name="signal">next_test</field>
</record>
<record id="trans_valid_cancel" model="workflow.transition">
<field name="act_from" ref="act_valid"/>
<field name="act_to" ref="act_cancel"/>
<field name="signal">cancel</field>
</record>
<!-- Test Failed Output Transitions -->
<record id="trans_test_failed_pending_test" model="workflow.transition">
<field name="act_from" ref="act_test_failed"/>
<field name="act_to" ref="act_pending_test"/>
<field name="signal">subflow.draft</field>
</record>
<record id="trans_test_failed_cancel" model="workflow.transition">
<field name="act_from" ref="act_test_failed"/>
<field name="act_to" ref="act_cancel"/>
<!--
To be able to go out of 'subflow' activity without subflow signal,
the workitem must to be disassociated of any subflow.
It could be done with 'force_cancel' function which after raise
'cancel' signal -->
<field name="condition">test_not_qc_test_subflow()</field>
<field name="signal">cancel</field>
</record>
<!-- Cancel Output Transitions -->
<record id="trans_cancel_draft" model="workflow.transition">
<field name="act_from" ref="act_cancel"/>
<field name="act_to" ref="act_draft"/>
<field name="signal">draft</field>
</record>
</data>
</openerp>