[REF] purchase: search view of purchase order and form view of merge order wizard
[odoo/odoo.git] / addons / sale / sale_workflow.xml
1 <?xml version="1.0" encoding="utf-8"?>
2 <openerp>
3     <data>
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>
8         </record>
9         
10         <!-- Activity -->
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>
15         </record>
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>
22         </record>
23         <record id="act_wait_invoice" model="workflow.activity">
24             <field name="wkf_id" ref="wkf_sale"/>
25             <field name="name">wait_invoice</field>
26         </record>
27         <record id="act_wait_ship" model="workflow.activity">
28             <field name="wkf_id" ref="wkf_sale"/>
29             <field name="name">wait_ship</field>
30         </record>
31         
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>
39         </record>
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>
46         </record>
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>
53         </record>
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>
60         </record>
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>
67         </record>
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>
73         </record>
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>
79         </record>
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>
86         </record>
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             <!--
92                         <field name="kind">subflow</field>
93                         <field name="subflow_id" search="[('osv','=','stock.picking')]"/>
94                         -->
95             <field name="action">action_ship_create()</field>
96         </record>
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>
102         </record>
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>
108         </record>
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>
115         </record>
116         
117         <!-- Transistion -->
118         
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"/>
122         </record>
123         
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>
128         </record>
129         
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>
134         </record>
135         
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>
140         </record>
141         
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>
146         </record>
147         
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"/>
151         </record>
152         
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"/>
156         </record>
157         
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>
162         </record>
163         
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>
168         </record>
169         
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>
174         </record>
175         
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>
180         </record>
181         
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>
186         </record>
187         
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>
192         </record>
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>
197         </record>
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>
202         </record>
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>
207         </record>
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>
212         </record>
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"/>
216         </record>
217         
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>
224         </record>
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"/>
228             <!--
229                         <field name="trigger_model">mrp.procurement</field>
230                         <field name="trigger_expr_id">procurement_lines_get()</field>
231                         -->
232             <field name="condition">test_state('canceled')</field>
233         </record>
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>
238         </record>
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>
243         </record>
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>
248         </record>
249         
250     </data>
251 </openerp>