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>
91 <field name="action">action_ship_create()</field>
93 <record id="act_ship_except" model="workflow.activity">
94 <field name="wkf_id" ref="wkf_sale"/>
95 <field name="name">ship_except</field>
96 <field name="kind">function</field>
97 <field name="action">write({'state':'shipping_except'})</field>
99 <record id="act_ship_end" model="workflow.activity">
100 <field name="wkf_id" ref="wkf_sale"/>
101 <field name="name">ship_end</field>
102 <field name="kind">function</field>
103 <field name="action">action_ship_end()</field>
105 <record id="act_ship_cancel" model="workflow.activity">
106 <field name="wkf_id" ref="wkf_sale"/>
107 <field name="name">ship_cancel</field>
108 <field name="flow_stop">True</field>
109 <field name="kind">stopall</field>
110 <field name="action">action_cancel()</field>
115 <record id="trans_invoice_end_done" model="workflow.transition">
116 <field name="act_from" ref="act_invoice_end"/>
117 <field name="act_to" ref="act_done"/>
120 <record id="trans_draft_router" model="workflow.transition">
121 <field name="act_from" ref="act_draft"/>
122 <field name="act_to" ref="act_router"/>
123 <field name="signal">order_confirm</field>
126 <record id="trans_draft_cancel" model="workflow.transition">
127 <field name="act_from" ref="act_draft"/>
128 <field name="act_to" ref="act_cancel"/>
129 <field name="signal">cancel</field>
132 <record id="trans_wait_invoice_all_lines_invoiced" model="workflow.transition">
133 <field name="act_from" ref="act_wait_invoice"/>
134 <field name="act_to" ref="act_invoice_end"/>
135 <field name="signal">all_lines</field>
138 <record id="trans_router_wait_invoice_shipping" model="workflow.transition">
139 <field name="act_from" ref="act_wait_invoice"/>
140 <field name="act_to" ref="act_invoice_end"/>
141 <field name="condition">(order_policy=='picking')</field>
144 <record id="trans_router_wait_invoice" model="workflow.transition">
145 <field name="act_from" ref="act_router"/>
146 <field name="act_to" ref="act_wait_invoice"/>
149 <record id="trans_router_wait_ship" model="workflow.transition">
150 <field name="act_from" ref="act_router"/>
151 <field name="act_to" ref="act_wait_ship"/>
154 <record id="trans_wait_invoice_cancel2" model="workflow.transition">
155 <field name="act_from" ref="act_wait_invoice"/>
156 <field name="act_to" ref="act_cancel2"/>
157 <field name="signal">cancel</field>
160 <record id="trans_wait_ship_cancel3" model="workflow.transition">
161 <field name="act_from" ref="act_wait_ship"/>
162 <field name="act_to" ref="act_cancel3"/>
163 <field name="signal">cancel</field>
166 <record id="trans_wait_ship_ship" model="workflow.transition">
167 <field name="act_from" ref="act_wait_ship"/>
168 <field name="act_to" ref="act_ship"/>
169 <field name="condition">(order_policy!='prepaid') or invoiced</field>
172 <record id="trans_wait_invoice_invoice" model="workflow.transition">
173 <field name="act_from" ref="act_wait_invoice"/>
174 <field name="act_to" ref="act_invoice"/>
175 <field name="condition">(order_policy=='prepaid') or ((order_policy=='postpaid') and shipped)</field>
178 <record id="trans_wait_invoice_invoice_manual" model="workflow.transition">
179 <field name="act_from" ref="act_wait_invoice"/>
180 <field name="act_to" ref="act_invoice"/>
181 <field name="signal">manual_invoice</field>
184 <record id="trans_invoice_invoice_end" model="workflow.transition">
185 <field name="act_from" ref="act_invoice"/>
186 <field name="act_to" ref="act_invoice_end"/>
187 <field name="signal">subflow.paid</field>
189 <record id="trans_invoice_invoice_except" model="workflow.transition">
190 <field name="act_from" ref="act_invoice"/>
191 <field name="act_to" ref="act_invoice_except"/>
192 <field name="signal">subflow.cancel</field>
194 <record id="trans_invoice_except_invoice" model="workflow.transition">
195 <field name="act_from" ref="act_invoice_except"/>
196 <field name="act_to" ref="act_invoice"/>
197 <field name="signal">invoice_recreate</field>
199 <record id="trans_invoice_except_invoice_end" model="workflow.transition">
200 <field name="act_from" ref="act_invoice_except"/>
201 <field name="act_to" ref="act_invoice_end"/>
202 <field name="signal">invoice_corrected</field>
204 <record id="trans_invoice_except_invoice_cancel" model="workflow.transition">
205 <field name="act_from" ref="act_invoice_except"/>
206 <field name="act_to" ref="act_invoice_cancel"/>
207 <field name="signal">invoice_cancel</field>
209 <record id="trans_ship_end_done" model="workflow.transition">
210 <field name="act_from" ref="act_ship_end"/>
211 <field name="act_to" ref="act_done"/>
214 <record id="trans_ship_ship_end" model="workflow.transition">
215 <field name="act_from" ref="act_ship"/>
216 <field name="act_to" ref="act_ship_end"/>
217 <field name="trigger_model">procurement.order</field>
218 <field name="trigger_expr_id">procurement_lines_get()</field>
219 <field name="condition">test_state('finished')</field>
221 <record id="trans_ship_ship_except" model="workflow.transition">
222 <field name="act_from" ref="act_ship"/>
223 <field name="act_to" ref="act_ship_except"/>
224 <field name="condition">test_state('canceled')</field>
226 <record id="trans_ship_except_ship" model="workflow.transition">
227 <field name="act_from" ref="act_ship_except"/>
228 <field name="act_to" ref="act_ship"/>
229 <field name="signal">ship_recreate</field>
231 <record id="trans_ship_except_ship_end" model="workflow.transition">
232 <field name="act_from" ref="act_ship_except"/>
233 <field name="act_to" ref="act_ship_end"/>
234 <field name="signal">ship_corrected</field>
236 <record id="trans_ship_except_ship_cancel" model="workflow.transition">
237 <field name="act_from" ref="act_ship_except"/>
238 <field name="act_to" ref="act_ship_cancel"/>
239 <field name="signal">ship_cancel</field>