1 <?xml version="1.0" encoding="utf-8"?>
4 <record id="wkf_sale" model="workflow">
5 <field name="name">sale.order.basic</field>
6 <field name="osv">sale.order</field>
7 <field name="on_create">True</field>
11 <record id="act_draft" model="workflow.activity">
12 <field name="wkf_id" ref="wkf_sale"/>
13 <field name="flow_start">True</field>
14 <field name="name">draft</field>
16 <record id="act_router" model="workflow.activity">
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>
23 <record id="act_wait_invoice" model="workflow.activity">
24 <field name="wkf_id" ref="wkf_sale"/>
25 <field name="name">wait_invoice</field>
27 <record id="act_wait_ship" model="workflow.activity">
28 <field name="wkf_id" ref="wkf_sale"/>
29 <field name="name">wait_ship</field>
32 <record id="act_done" model="workflow.activity">
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>
40 <record id="act_cancel" model="workflow.activity">
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>
47 <record id="act_cancel2" model="workflow.activity">
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>
54 <record id="act_cancel3" model="workflow.activity">
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>
61 <record id="act_invoice" model="workflow.activity">
62 <field name="wkf_id" ref="wkf_sale"/>
63 <field name="name">invoice</field>
64 <field name="kind">subflow</field>
65 <field name="subflow_id" search="[('name','=','account.invoice.basic')]"/>
66 <field name="action">action_invoice_create()</field>
68 <record id="act_invoice_except" model="workflow.activity">
69 <field name="wkf_id" ref="wkf_sale"/>
70 <field name="name">invoice_except</field>
71 <field name="kind">function</field>
72 <field name="action">action_invoice_cancel()</field>
74 <record id="act_invoice_end" model="workflow.activity">
75 <field name="wkf_id" ref="wkf_sale"/>
76 <field name="name">invoice_end</field>
77 <field name="kind">function</field>
78 <field name="action">action_invoice_end()</field>
80 <record id="act_invoice_cancel" model="workflow.activity">
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>
87 <record id="act_ship" model="workflow.activity">
88 <field name="wkf_id" ref="wkf_sale"/>
89 <field name="name">ship</field>
90 <field name="kind">function</field>
92 <field name="kind">subflow</field>
93 <field name="subflow_id" search="[('osv','=','stock.picking')]"/>
95 <field name="action">action_ship_create()</field>
97 <record id="act_ship_except" model="workflow.activity">
98 <field name="wkf_id" ref="wkf_sale"/>
99 <field name="name">ship_except</field>
100 <field name="kind">function</field>
101 <field name="action">write({'state':'shipping_except'})</field>
103 <record id="act_ship_end" model="workflow.activity">
104 <field name="wkf_id" ref="wkf_sale"/>
105 <field name="name">ship_end</field>
106 <field name="kind">function</field>
107 <field name="action">action_ship_end()</field>
109 <record id="act_ship_cancel" model="workflow.activity">
110 <field name="wkf_id" ref="wkf_sale"/>
111 <field name="name">ship_cancel</field>
112 <field name="flow_stop">True</field>
113 <field name="kind">stopall</field>
114 <field name="action">action_cancel()</field>
119 <record id="trans_invoice_end_done" model="workflow.transition">
120 <field name="act_from" ref="act_invoice_end"/>
121 <field name="act_to" ref="act_done"/>
124 <record id="trans_draft_router" model="workflow.transition">
125 <field name="act_from" ref="act_draft"/>
126 <field name="act_to" ref="act_router"/>
127 <field name="signal">order_confirm</field>
130 <record id="trans_draft_cancel" model="workflow.transition">
131 <field name="act_from" ref="act_draft"/>
132 <field name="act_to" ref="act_cancel"/>
133 <field name="signal">cancel</field>
136 <record id="trans_wait_invoice_all_lines_invoiced" model="workflow.transition">
137 <field name="act_from" ref="act_wait_invoice"/>
138 <field name="act_to" ref="act_invoice_end"/>
139 <field name="signal">all_lines</field>
142 <record id="trans_router_wait_invoice_shipping" model="workflow.transition">
143 <field name="act_from" ref="act_wait_invoice"/>
144 <field name="act_to" ref="act_invoice_end"/>
145 <field name="condition">(order_policy=='picking')</field>
148 <record id="trans_router_wait_invoice" model="workflow.transition">
149 <field name="act_from" ref="act_router"/>
150 <field name="act_to" ref="act_wait_invoice"/>
153 <record id="trans_router_wait_ship" model="workflow.transition">
154 <field name="act_from" ref="act_router"/>
155 <field name="act_to" ref="act_wait_ship"/>
158 <record id="trans_wait_invoice_cancel2" model="workflow.transition">
159 <field name="act_from" ref="act_wait_invoice"/>
160 <field name="act_to" ref="act_cancel2"/>
161 <field name="signal">cancel</field>
164 <record id="trans_wait_ship_cancel3" model="workflow.transition">
165 <field name="act_from" ref="act_wait_ship"/>
166 <field name="act_to" ref="act_cancel3"/>
167 <field name="signal">cancel</field>
170 <record id="trans_wait_ship_ship" model="workflow.transition">
171 <field name="act_from" ref="act_wait_ship"/>
172 <field name="act_to" ref="act_ship"/>
173 <field name="condition">(order_policy!='prepaid') or invoiced</field>
176 <record id="trans_wait_invoice_invoice" model="workflow.transition">
177 <field name="act_from" ref="act_wait_invoice"/>
178 <field name="act_to" ref="act_invoice"/>
179 <field name="condition">(order_policy=='prepaid') or ((order_policy=='postpaid') and shipped)</field>
182 <record id="trans_wait_invoice_invoice_manual" model="workflow.transition">
183 <field name="act_from" ref="act_wait_invoice"/>
184 <field name="act_to" ref="act_invoice"/>
185 <field name="signal">manual_invoice</field>
188 <record id="trans_invoice_invoice_end" model="workflow.transition">
189 <field name="act_from" ref="act_invoice"/>
190 <field name="act_to" ref="act_invoice_end"/>
191 <field name="signal">subflow.paid</field>
193 <record id="trans_invoice_invoice_except" model="workflow.transition">
194 <field name="act_from" ref="act_invoice"/>
195 <field name="act_to" ref="act_invoice_except"/>
196 <field name="signal">subflow.cancel</field>
198 <record id="trans_invoice_except_invoice" model="workflow.transition">
199 <field name="act_from" ref="act_invoice_except"/>
200 <field name="act_to" ref="act_invoice"/>
201 <field name="signal">invoice_recreate</field>
203 <record id="trans_invoice_except_invoice_end" model="workflow.transition">
204 <field name="act_from" ref="act_invoice_except"/>
205 <field name="act_to" ref="act_invoice_end"/>
206 <field name="signal">invoice_corrected</field>
208 <record id="trans_invoice_except_invoice_cancel" model="workflow.transition">
209 <field name="act_from" ref="act_invoice_except"/>
210 <field name="act_to" ref="act_invoice_cancel"/>
211 <field name="signal">invoice_cancel</field>
213 <record id="trans_ship_end_done" model="workflow.transition">
214 <field name="act_from" ref="act_ship_end"/>
215 <field name="act_to" ref="act_done"/>
218 <record id="trans_ship_ship_end" model="workflow.transition">
219 <field name="act_from" ref="act_ship"/>
220 <field name="act_to" ref="act_ship_end"/>
221 <field name="trigger_model">mrp.procurement</field>
222 <field name="trigger_expr_id">procurement_lines_get()</field>
223 <field name="condition">test_state('finished')</field>
225 <record id="trans_ship_ship_except" model="workflow.transition">
226 <field name="act_from" ref="act_ship"/>
227 <field name="act_to" ref="act_ship_except"/>
229 <field name="trigger_model">mrp.procurement</field>
230 <field name="trigger_expr_id">procurement_lines_get()</field>
232 <field name="condition">test_state('canceled')</field>
234 <record id="trans_ship_except_ship" model="workflow.transition">
235 <field name="act_from" ref="act_ship_except"/>
236 <field name="act_to" ref="act_ship"/>
237 <field name="signal">ship_recreate</field>
239 <record id="trans_ship_except_ship_end" model="workflow.transition">
240 <field name="act_from" ref="act_ship_except"/>
241 <field name="act_to" ref="act_ship_end"/>
242 <field name="signal">ship_corrected</field>
244 <record id="trans_ship_except_ship_cancel" model="workflow.transition">
245 <field name="act_from" ref="act_ship_except"/>
246 <field name="act_to" ref="act_ship_cancel"/>
247 <field name="signal">ship_cancel</field>