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>
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>
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>
23 <record model="workflow.activity" id="act_wait_invoice">
24 <field name="wkf_id" ref="wkf_sale"/>
25 <field name="name">wait_invoice</field>
27 <record model="workflow.activity" id="act_wait_ship">
28 <field name="wkf_id" ref="wkf_sale"/>
29 <field name="name">wait_ship</field>
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>
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>
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>
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>
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>
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>
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>
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>
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>
93 <field name="kind">subflow</field>
94 <field name="subflow_id" search="[('osv','=','stock.picking')]"/>
96 <field name="action">action_ship_create()</field>
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>
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>
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>
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"/>
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>
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>
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>
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>
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"/>
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"/>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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"/>
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>
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"/>
230 <field name="trigger_model">mrp.procurement</field>
231 <field name="trigger_expr_id">procurement_lines_get()</field>
233 <field name="condition">test_state('canceled')</field>
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>
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>
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>