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