clean the xml file ( use xml comments )
[odoo/odoo.git] / addons / sale / sale_workflow.xml
1 <?xml version="1.0"?>
2 <terp>
3     <data>
4         <record model="workflow" id="wkf_sale">
5             <field name="name">sale.order.basic</field>
6             <field name="osv">sale.order</field>
7             <field name="on_create">True</field>
8         </record>
9         
10         <!-- Activity -->
11         <record model="workflow.activity" id="act_draft">
12             <field name="wkf_id" ref="wkf_sale"/>
13             <field name="flow_start">True</field>
14             <field name="name">draft</field>
15         </record>
16         <record model="workflow.activity" id="act_router">
17             <field name="wkf_id" ref="wkf_sale"/>
18             <field name="name">router</field>
19             <field name="kind">function</field>
20             <field name="action">action_wait()</field>
21             <field name="split_mode">OR</field>
22         </record>
23         <record model="workflow.activity" id="act_wait_invoice">
24             <field name="wkf_id" ref="wkf_sale"/>
25             <field name="name">wait_invoice</field>
26         </record>
27         <record model="workflow.activity" id="act_wait_ship">
28             <field name="wkf_id" ref="wkf_sale"/>
29             <field name="name">wait_ship</field>
30         </record>
31         
32         <record model="workflow.activity" id="act_done">
33             <field name="wkf_id" ref="wkf_sale"/>
34             <field name="name">done</field>
35             <field name="flow_stop">True</field>
36             <field name="kind">function</field>
37             <field name="action">write({'state':'done'})</field>
38             <field name="join_mode">AND</field>
39         </record>
40         <record model="workflow.activity" id="act_cancel">
41             <field name="wkf_id" ref="wkf_sale"/>
42             <field name="name">cancel</field>
43             <field name="flow_stop">True</field>
44             <field name="kind">stopall</field>
45             <field name="action">action_cancel()</field>
46         </record>
47         <record model="workflow.activity" id="act_cancel2">
48             <field name="wkf_id" ref="wkf_sale"/>
49             <field name="name">cancel2</field>
50             <field name="flow_stop">True</field>
51             <field name="kind">stopall</field>
52             <field name="action">action_cancel()</field>
53         </record>
54         <record model="workflow.activity" id="act_cancel3">
55             <field name="wkf_id" ref="wkf_sale"/>
56             <field name="name">cancel3</field>
57             <field name="flow_stop">True</field>
58             <field name="kind">stopall</field>
59             <field name="action">action_cancel()</field>
60         </record>
61         
62         <record model="workflow.activity" id="act_invoice">
63             <field name="wkf_id" ref="wkf_sale"/>
64             <field name="name">invoice</field>
65             <field name="kind">subflow</field>
66             <field name="subflow_id" search="[('name','=','account.invoice.basic')]"/>
67             <field name="action">action_invoice_create()</field>
68         </record>
69         <record model="workflow.activity" id="act_invoice_except">
70             <field name="wkf_id" ref="wkf_sale"/>
71             <field name="name">invoice_except</field>
72             <field name="kind">function</field>
73             <field name="action">action_invoice_cancel()</field>
74         </record>
75         <record model="workflow.activity" id="act_invoice_end">
76             <field name="wkf_id" ref="wkf_sale"/>
77             <field name="name">invoice_end</field>
78             <field name="kind">dummy</field>
79         </record>
80         <record model="workflow.activity" id="act_invoice_cancel">
81             <field name="wkf_id" ref="wkf_sale"/>
82             <field name="name">invoice_cancel</field>
83             <field name="flow_stop">True</field>
84             <field name="kind">stopall</field>
85             <field name="action">action_cancel()</field>
86         </record>
87         
88         <record model="workflow.activity" id="act_ship">
89             <field name="wkf_id" ref="wkf_sale"/>
90             <field name="name">ship</field>
91             <field name="kind">function</field>
92             <!--
93                         <field name="kind">subflow</field>
94                         <field name="subflow_id" search="[('osv','=','stock.picking')]"/>
95                         -->
96             <field name="action">action_ship_create()</field>
97         </record>
98         <record model="workflow.activity" id="act_ship_except">
99             <field name="wkf_id" ref="wkf_sale"/>
100             <field name="name">ship_except</field>
101             <field name="kind">function</field>
102             <field name="action">write({'state':'shipping_except'})</field>
103         </record>
104         <record model="workflow.activity" id="act_ship_end">
105             <field name="wkf_id" ref="wkf_sale"/>
106             <field name="name">ship_end</field>
107             <field name="kind">function</field>
108             <field name="action">action_ship_end()</field>
109         </record>
110         <record model="workflow.activity" id="act_ship_cancel">
111             <field name="wkf_id" ref="wkf_sale"/>
112             <field name="name">ship_cancel</field>
113             <field name="flow_stop">True</field>
114             <field name="kind">stopall</field>
115             <field name="action">action_cancel()</field>
116         </record>
117         
118         <!-- Transistion -->
119         
120         <record model="workflow.transition" id="trans_invoice_end_done">
121             <field name="act_from" ref="act_invoice_end"/>
122             <field name="act_to" ref="act_done"/>
123         </record>
124         
125         <record model="workflow.transition" id="trans_draft_router">
126             <field name="act_from" ref="act_draft"/>
127             <field name="act_to" ref="act_router"/>
128             <field name="signal">order_confirm</field>
129         </record>
130         
131         <record model="workflow.transition" id="trans_draft_cancel">
132             <field name="act_from" ref="act_draft"/>
133             <field name="act_to" ref="act_cancel"/>
134             <field name="signal">cancel</field>
135         </record>
136         
137         <record model="workflow.transition" id="trans_wait_invoice_all_lines_invoiced">
138             <field name="act_from" ref="act_wait_invoice"/>
139             <field name="act_to" ref="act_invoice_end"/>
140             <field name="signal">all_lines</field>
141         </record>
142         
143         <record model="workflow.transition" id="trans_router_wait_invoice_shipping">
144             <field name="act_from" ref="act_wait_invoice"/>
145             <field name="act_to" ref="act_invoice_end"/>
146             <field name="condition">(order_policy=='picking')</field>
147         </record>
148         
149         <record model="workflow.transition" id="trans_router_wait_invoice">
150             <field name="act_from" ref="act_router"/>
151             <field name="act_to" ref="act_wait_invoice"/>
152         </record>
153         
154         <record model="workflow.transition" id="trans_router_wait_ship">
155             <field name="act_from" ref="act_router"/>
156             <field name="act_to" ref="act_wait_ship"/>
157         </record>
158         
159         <record model="workflow.transition" id="trans_wait_invoice_cancel2">
160             <field name="act_from" ref="act_wait_invoice"/>
161             <field name="act_to" ref="act_cancel2"/>
162             <field name="signal">cancel</field>
163         </record>
164         
165         <record model="workflow.transition" id="trans_wait_ship_cancel3">
166             <field name="act_from" ref="act_wait_ship"/>
167             <field name="act_to" ref="act_cancel3"/>
168             <field name="signal">cancel</field>
169         </record>
170         
171         <record model="workflow.transition" id="trans_wait_ship_ship">
172             <field name="act_from" ref="act_wait_ship"/>
173             <field name="act_to" ref="act_ship"/>
174             <field name="condition">(order_policy!='prepaid') or invoiced</field>
175         </record>
176         
177         <record model="workflow.transition" id="trans_wait_invoice_invoice">
178             <field name="act_from" ref="act_wait_invoice"/>
179             <field name="act_to" ref="act_invoice"/>
180             <field name="condition">(order_policy=='prepaid') or ((order_policy=='postpaid') and shipped)</field>
181         </record>
182         
183         <record model="workflow.transition" id="trans_wait_invoice_invoice_manual">
184             <field name="act_from" ref="act_wait_invoice"/>
185             <field name="act_to" ref="act_invoice"/>
186             <field name="signal">manual_invoice</field>
187         </record>
188         
189         <record model="workflow.transition" id="trans_invoice_invoice_end">
190             <field name="act_from" ref="act_invoice"/>
191             <field name="act_to" ref="act_invoice_end"/>
192             <field name="signal">subflow.paid</field>
193         </record>
194         <record model="workflow.transition" id="trans_invoice_invoice_except">
195             <field name="act_from" ref="act_invoice"/>
196             <field name="act_to" ref="act_invoice_except"/>
197             <field name="signal">subflow.cancel</field>
198         </record>
199         <record model="workflow.transition" id="trans_invoice_except_invoice">
200             <field name="act_from" ref="act_invoice_except"/>
201             <field name="act_to" ref="act_invoice"/>
202             <field name="signal">invoice_recreate</field>
203         </record>
204         <record model="workflow.transition" id="trans_invoice_except_invoice_end">
205             <field name="act_from" ref="act_invoice_except"/>
206             <field name="act_to" ref="act_invoice_end"/>
207             <field name="signal">invoice_corrected</field>
208         </record>
209         <record model="workflow.transition" id="trans_invoice_except_invoice_cancel">
210             <field name="act_from" ref="act_invoice_except"/>
211             <field name="act_to" ref="act_invoice_cancel"/>
212             <field name="signal">invoice_cancel</field>
213         </record>
214         <record model="workflow.transition" id="trans_ship_end_done">
215             <field name="act_from" ref="act_ship_end"/>
216             <field name="act_to" ref="act_done"/>
217         </record>
218         
219         <record model="workflow.transition" id="trans_ship_ship_end">
220             <field name="act_from" ref="act_ship"/>
221             <field name="act_to" ref="act_ship_end"/>
222             <field name="trigger_model">mrp.procurement</field>
223             <field name="trigger_expr_id">procurement_lines_get()</field>
224             <field name="condition">test_state('finished')</field>
225         </record>
226         <record model="workflow.transition" id="trans_ship_ship_except">
227             <field name="act_from" ref="act_ship"/>
228             <field name="act_to" ref="act_ship_except"/>
229             <!--
230                         <field name="trigger_model">mrp.procurement</field>
231                         <field name="trigger_expr_id">procurement_lines_get()</field>
232                         -->
233             <field name="condition">test_state('canceled')</field>
234         </record>
235         <record model="workflow.transition" id="trans_ship_except_ship">
236             <field name="act_from" ref="act_ship_except"/>
237             <field name="act_to" ref="act_ship"/>
238             <field name="signal">ship_recreate</field>
239         </record>
240         <record model="workflow.transition" id="trans_ship_except_ship_end">
241             <field name="act_from" ref="act_ship_except"/>
242             <field name="act_to" ref="act_ship_end"/>
243             <field name="signal">ship_corrected</field>
244         </record>
245         <record model="workflow.transition" id="trans_ship_except_ship_cancel">
246             <field name="act_from" ref="act_ship_except"/>
247             <field name="act_to" ref="act_ship_cancel"/>
248             <field name="signal">ship_cancel</field>
249         </record>
250         
251     </data>
252 </terp>