[MERGE] merged with main addons
[odoo/odoo.git] / addons / mrp / mrp_workflow.xml
1 <?xml version="1.0" encoding="utf-8"?>
2 <openerp>
3     <data>
4         <!-- Production -->
5
6         <record id="wkf_prod" model="workflow">
7             <field name="name">mrp.production.basic</field>
8             <field name="osv">mrp.production</field>
9             <field name="on_create">True</field>
10         </record>
11
12         <record id="prod_act_draft" model="workflow.activity">
13             <field name="wkf_id" ref="wkf_prod"/>
14             <field name="flow_start">True</field>
15             <field name="name">draft</field>
16         </record>
17         <record id="prod_act_picking" model="workflow.activity">
18             <field name="wkf_id" ref="wkf_prod"/>
19             <field name="name">picking</field>
20             <field name="kind">subflow</field>
21             <field name="subflow_id" search="[('osv','=','stock.picking')]"/>
22             <field name="action">action_confirm()</field>
23         </record>
24         <record id="prod_act_ready" model="workflow.activity">
25             <field name="wkf_id" ref="wkf_prod"/>
26             <field name="name">ready</field>
27             <field name="kind">function</field>
28             <field name="action">action_ready()</field>
29         </record>
30         <record id="prod_act_picking_exception" model="workflow.activity">
31             <field name="wkf_id" ref="wkf_prod"/>
32             <field name="name">picking_exception</field>
33             <field name="kind">function</field>
34             <field name="action">action_picking_except()</field>
35         </record>
36         <record id="prod_act_in_production" model="workflow.activity">
37             <field name="wkf_id" ref="wkf_prod"/>
38             <field name="name">in_production</field>
39             <field name="kind">function</field>
40             <field name="action">action_in_production()</field>
41         </record>
42         <record id="prod_act_done" model="workflow.activity">
43             <field name="wkf_id" ref="wkf_prod"/>
44             <field name="flow_stop">True</field>
45             <field name="kind">function</field>
46             <field name="action">action_production_end()</field>            
47             <field name="name">done</field>
48         </record>
49         <record id="prod_act_cancel" model="workflow.activity">
50             <field name="wkf_id" ref="wkf_prod"/>
51             <field name="flow_stop">True</field>
52             <field name="name">cancel</field>
53             <field name="kind">function</field>
54             <field name="action">action_cancel()</field>
55         </record>
56
57         <record id="prod_trans_draft_ready" model="workflow.transition">
58             <field name="act_from" ref="prod_act_draft"/>
59             <field name="act_to" ref="prod_act_ready"/>
60             <field name="signal">button_confirm</field>
61             <field name="condition">not test_if_product()</field>
62         </record>
63         <record id="prod_trans_draft_picking" model="workflow.transition">
64             <field name="act_from" ref="prod_act_draft"/>
65             <field name="act_to" ref="prod_act_picking"/>
66             <field name="signal">button_confirm</field>
67             <field name="condition">test_if_product()</field>
68         </record>
69         <record id="prod_trans_picking_ready" model="workflow.transition">
70             <field name="act_from" ref="prod_act_picking"/>
71             <field name="act_to" ref="prod_act_ready"/>
72             <field name="signal"></field>
73             <field name="condition">picking_id and picking_id.state=='done'</field>
74         </record>
75         <record id="prod_trans_ready_in_production" model="workflow.transition">
76             <field name="act_from" ref="prod_act_ready"/>
77             <field name="act_to" ref="prod_act_in_production"/>
78             <field name="signal">button_produce</field>
79         </record>
80         <record id="prod_trans_in_production_done" model="workflow.transition">
81             <field name="act_from" ref="prod_act_in_production"/>
82             <field name="act_to" ref="prod_act_done"/>
83             <field name="signal">button_produce_done</field>
84             <field name="condition">test_production_done()</field>
85         </record>
86         <record id="prod_trans_picking_picking_exception" model="workflow.transition">
87             <field name="act_from" ref="prod_act_picking"/>
88             <field name="act_to" ref="prod_act_picking_exception"/>
89             <field name="signal">subflow.cancel</field>
90         </record>
91         <record id="prod_trans_picking_exception_cancel" model="workflow.transition">
92             <field name="act_from" ref="prod_act_picking_exception"/>
93             <field name="act_to" ref="prod_act_cancel"/>
94             <field name="signal">button_cancel</field>
95         </record>
96         <record id="prod_trans_picking_exception_picking" model="workflow.transition">
97             <field name="act_from" ref="prod_act_picking_exception"/>
98             <field name="act_to" ref="prod_act_picking"/>
99             <field name="signal">button_recreate</field>
100         </record>
101         <record id="prod_trans_ready_cancel" model="workflow.transition">
102             <field name="act_from" ref="prod_act_ready"/>
103             <field name="act_to" ref="prod_act_cancel"/>
104             <field name="signal">button_cancel</field>
105         </record>
106         <record id="prod_trans_in_production_cancel" model="workflow.transition">
107             <field name="act_from" ref="prod_act_in_production"/>
108             <field name="act_to" ref="prod_act_cancel"/>
109             <field name="signal">button_cancel</field>
110         </record>
111         <record id="prod_trans_draft_cancel" model="workflow.transition">
112             <field name="act_from" ref="prod_act_draft"/>
113             <field name="act_to" ref="prod_act_cancel"/>
114             <field name="signal">button_cancel</field>
115         </record>
116
117         <!-- Procurement -->
118
119         <record id="act_produce" model="workflow.activity">
120             <field name="wkf_id" ref="procurement.wkf_procurement"/>
121             <field name="name">produce</field>
122             <field name="kind">subflow</field>
123             <field name="subflow_id" search="[('osv','=','mrp.production')]"/>
124             <field name="action">action_produce_assign_product()</field>
125         </record>
126
127         <record id="trans_confirm_mto_need_production" model="workflow.transition">
128             <field name="act_from" ref="procurement.act_confirm_mto"/>
129             <field name="act_to" ref="act_produce"/>
130             <field name="condition">check_produce() and is_product() and check_bom_exists()</field>
131         </record>
132
133         <record id="trans_produce_finished_prod" model="workflow.transition">
134             <field name="act_from" ref="act_produce"/>
135             <field name="act_to" ref="procurement.act_make_done"/>
136             <field name="signal">subflow.done</field>
137         </record>
138
139         <record id="trans_produce_cancel" model="workflow.transition">
140             <field name="act_from" ref="act_produce"/>
141             <field name="act_to" ref="procurement.act_cancel"/>
142             <field name="signal">subflow.cancel</field>
143         </record>
144
145     </data>
146 </openerp>