fixed bug:308803
[odoo/odoo.git] / addons / purchase / purchase_workflow.xml
1 <?xml version="1.0" encoding="utf-8"?>
2 <openerp>
3     <data>
4
5         <record id="purchase_order" model="workflow">
6             <field name="name">Purchase Order Basic Workflow</field>
7             <field name="osv">purchase.order</field>
8             <field name="on_create">True</field>
9         </record>
10
11         <record id="act_draft" model="workflow.activity">
12             <field name="wkf_id" ref="purchase_order"/>
13             <field name="flow_start">True</field>
14             <field name="name">draft</field>
15         </record>
16         <record id="act_confirmed" model="workflow.activity">
17             <field name="wkf_id" ref="purchase_order"/>
18             <field name="name">confirmed</field>
19             <field name="kind">function</field>
20             <field name="action">wkf_confirm_order()</field>
21         </record>
22         <record id="act_cancel" model="workflow.activity">
23             <field name="wkf_id" ref="purchase_order"/>
24             <field name="name">cancel</field>
25             <field name="kind">function</field>
26             <field name="flow_stop">True</field>
27             <field name="action">write({'state':'cancel'})</field>
28         </record>
29         <record id="act_except_invoice" model="workflow.activity">
30             <field name="wkf_id" ref="purchase_order"/>
31             <field name="name">except_invoice</field>
32             <field name="kind">function</field>
33             <field name="action">write({'state':'except_invoice'})</field>
34         </record>
35         <record id="act_except_picking" model="workflow.activity">
36             <field name="wkf_id" ref="purchase_order"/>
37             <field name="name">except_picking</field>
38             <field name="kind">function</field>
39             <field name="action">write({'state':'except_picking'})</field>
40         </record>
41         <record id="act_router" model="workflow.activity">
42             <field name="wkf_id" ref="purchase_order"/>
43             <field name="name">router</field>
44             <field name="split_mode">OR</field>
45             <field name="kind">function</field>
46             <field name="action">wkf_approve_order()</field>
47         </record>
48         <record id="act_invoice" model="workflow.activity">
49             <field name="wkf_id" ref="purchase_order"/>
50             <field name="name">invoice</field>
51             <field name="kind">subflow</field>
52             <field name="subflow_id" search="[('osv','=','account.invoice')]" type="int"/>
53             <field name="action">action_invoice_create()</field>
54         </record>
55         <record id="act_invoice_done" model="workflow.activity">
56             <field name="wkf_id" ref="purchase_order"/>
57             <field name="name">invoice_done</field>
58             <field name="action">write({'invoiced':1,'state':'approved'})</field>
59             <field name="kind">function</field>
60         </record>
61         <record id="act_invoice_end" model="workflow.activity">
62             <field name="wkf_id" ref="purchase_order"/>
63             <field name="name">invoice_end</field>
64         </record>
65         <record id="act_picking" model="workflow.activity">
66             <field name="wkf_id" ref="purchase_order"/>
67             <field name="name">picking</field>
68             <field name="kind">subflow</field>
69             <field name="subflow_id" search="[('osv','=','stock.picking')]"/>
70             <field name="action">action_picking_create()</field>
71         </record>
72         <record id="act_picking_done" model="workflow.activity">
73             <field name="wkf_id" ref="purchase_order"/>
74             <field name="name">picking_done</field>
75             <field name="action">write({'shipped':1,'state':'approved'})</field>
76             <field name="kind">function</field>
77             <field name="signal_send">subflow.delivery_done</field>
78         </record>
79         <record id="act_done" model="workflow.activity">
80             <field name="wkf_id" ref="purchase_order"/>
81             <field name="name">done</field>
82             <field name="action">write({'state':'done'})</field>
83             <field name="kind">function</field>
84             <field name="flow_stop">True</field>
85             <field name="join_mode">AND</field>
86         </record>
87
88         <record id="trans_draft_confirmed" model="workflow.transition">
89             <field name="act_from" ref="act_draft"/>
90             <field name="act_to" ref="act_confirmed"/>
91             <field name="signal">purchase_confirm</field>
92         </record>
93         <record id="trans_confirmed_cancel" model="workflow.transition">
94             <field name="act_from" ref="act_confirmed"/>
95             <field name="act_to" ref="act_cancel"/>
96             <field name="signal">purchase_cancel</field>
97         </record>
98         <record id="trans_draft_cancel" model="workflow.transition">
99             <field name="act_from" ref="act_draft"/>
100             <field name="act_to" ref="act_cancel"/>
101             <field name="signal">purchase_cancel</field>
102         </record>
103         <record id="trans_confirmed_router" model="workflow.transition">
104             <field name="act_from" ref="act_confirmed"/>
105             <field name="act_to" ref="act_router"/>
106             <field name="signal">purchase_approve</field>
107         </record>
108         <record id="trans_router_picking" model="workflow.transition">
109             <field name="act_from" ref="act_router"/>
110             <field name="act_to" ref="act_picking"/>
111             <field name="condition">has_stockable_product()</field>
112         </record>
113         <record id="trans_router_picking_done" model="workflow.transition">
114             <field name="act_from" ref="act_router"/>
115             <field name="act_to" ref="act_picking_done"/>
116             <field name="condition">not has_stockable_product()</field>
117         </record>
118         <record id="trans_router_invoice" model="workflow.transition">
119             <field name="act_from" ref="act_router"/>
120             <field name="act_to" ref="act_invoice"/>
121             <field name="condition">invoice_method=='order'</field>
122         </record>
123         <record id="trans_router_invoice_no_order" model="workflow.transition">
124             <field name="act_from" ref="act_router"/>
125             <field name="act_to" ref="act_invoice_end"/>
126             <field name="condition">invoice_method&lt;&gt;'order'</field>
127         </record>
128         <record id="trans_except_picking_picking_done" model="workflow.transition">
129             <field name="act_from" ref="act_except_picking"/>
130             <field name="act_to" ref="act_picking_done"/>
131             <field name="signal">picking_ok</field>
132         </record>
133         <record id="trans_except_invoice_invoice_done" model="workflow.transition">
134             <field name="act_from" ref="act_except_invoice"/>
135             <field name="act_to" ref="act_invoice_done"/>
136             <field name="signal">invoice_ok</field>
137         </record>
138         <record id="trans_except_picking" model="workflow.transition">
139             <field name="act_from" ref="act_except_picking"/>
140             <field name="act_to" ref="act_cancel"/>
141             <field name="signal">cancel</field>
142         </record>
143         <record id="trans_except_invoice" model="workflow.transition">
144             <field name="act_from" ref="act_except_invoice"/>
145             <field name="act_to" ref="act_cancel"/>
146             <field name="signal">cancel</field>
147         </record>
148         <record id="trans_picking_except_picking" model="workflow.transition">
149             <field name="act_from" ref="act_picking"/>
150             <field name="act_to" ref="act_except_picking"/>
151             <field name="signal">subflow.cancel</field>
152         </record>
153         <record id="trans_invoice_except_invoice" model="workflow.transition">
154             <field name="act_from" ref="act_invoice"/>
155             <field name="act_to" ref="act_except_invoice"/>
156             <field name="signal">subflow.cancel</field>
157         </record>
158         <record id="trans_picking_picking_done" model="workflow.transition">
159             <field name="act_from" ref="act_picking"/>
160             <field name="act_to" ref="act_picking_done"/>
161             <field name="signal">subflow.done</field>
162         </record>
163         <record id="trans_invoice_invoice_done" model="workflow.transition">
164             <field name="act_from" ref="act_invoice"/>
165             <field name="act_to" ref="act_invoice_done"/>
166             <field name="signal">subflow.paid</field>
167         </record>
168         <record id="trans_picking_done_done" model="workflow.transition">
169             <field name="act_from" ref="act_picking_done"/>
170             <field name="act_to" ref="act_done"/>
171         </record>
172         <record id="trans_invoice_done_done" model="workflow.transition">
173             <field name="act_from" ref="act_invoice_done"/>
174             <field name="act_to" ref="act_invoice_end"/>
175         </record>
176         <record id="trans_invoice_end_done" model="workflow.transition">
177             <field name="act_from" ref="act_invoice_end"/>
178             <field name="act_to" ref="act_done"/>
179         </record>
180
181     </data>
182 </openerp>