Add average price
[odoo/odoo.git] / addons / purchase / purchase_workflow.xml
1 <?xml version="1.0"?>
2 <terp>
3 <data>
4
5         <record model="workflow" id="purchase_order">
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 model="workflow.activity" id="act_draft">
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 model="workflow.activity" id="act_confirmed">
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 model="workflow.activity" id="act_cancel">
23                         <field name="wkf_id" ref="purchase_order"/>
24                         <field name="name">cancel</field>
25                         <field name="action">write({'state':'cancel'})</field>
26                         <field name="kind">stopall</field>
27                         <field name="flow_stop">True</field>
28                 </record>
29                 <record model="workflow.activity" id="act_except_invoice">
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 model="workflow.activity" id="act_except_picking">
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 model="workflow.activity" id="act_router">
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 model="workflow.activity" id="act_invoice">
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" type="int" search="[('osv','=','account.invoice')]"/>
53                         <field name="action">action_invoice_create()</field>
54                 </record>
55                 <record model="workflow.activity" id="act_invoice_done">
56                         <field name="wkf_id" ref="purchase_order"/>
57                         <field name="name">invoice_done</field>
58                         <field name="action">write({'invoiced':1})</field>
59                         <field name="kind">function</field>
60                 </record>
61                 <record model="workflow.activity" id="act_picking">
62                         <field name="wkf_id" ref="purchase_order"/>
63                         <field name="name">picking</field>
64                         <field name="kind">subflow</field>
65                         <field name="subflow_id" search="[('osv','=','stock.picking')]"/>
66                         <field name="action">action_picking_create()</field>
67                 </record>
68                 <record model="workflow.activity" id="act_picking_done">
69                         <field name="wkf_id" ref="purchase_order"/>
70                         <field name="name">picking_done</field>
71                         <field name="action">write({'shipped':1})</field>
72                         <field name="kind">function</field>
73                         <field name="signal_send">subflow.delivery_done</field>
74                 </record>
75                 <record model="workflow.activity" id="act_done">
76                         <field name="wkf_id" ref="purchase_order"/>
77                         <field name="name">done</field>
78                         <field name="action">write({'state':'done'})</field>
79                         <field name="kind">function</field>
80                         <field name="flow_stop">True</field>
81                         <field name="join_mode">AND</field>
82                 </record>
83
84                 <record model="workflow.transition" id="trans_draft_confirmed">
85                         <field name="act_from" ref="act_draft"/>
86                         <field name="act_to" ref="act_confirmed"/>
87                         <field name="signal">purchase_confirm</field>
88                 </record>
89                 <record model="workflow.transition" id="trans_confirmed_cancel">
90                         <field name="act_from" ref="act_confirmed"/>
91                         <field name="act_to" ref="act_cancel"/>
92                         <field name="signal">purchase_cancel</field>
93                 </record>
94                 <record model="workflow.transition" id="trans_draft_cancel">
95                         <field name="act_from" ref="act_draft"/>
96                         <field name="act_to" ref="act_cancel"/>
97                         <field name="signal">purchase_cancel</field>
98                 </record>
99                 <record model="workflow.transition" id="trans_confirmed_router">
100                         <field name="act_from" ref="act_confirmed"/>
101                         <field name="act_to" ref="act_router"/>
102                         <field name="signal">purchase_approve</field>
103                 </record>
104                 <record model="workflow.transition" id="trans_router_picking">
105                         <field name="act_from" ref="act_router"/>
106                         <field name="act_to" ref="act_picking"/>
107                         <field name="condition">has_stockable_product()</field>
108                 </record>
109                 <record model="workflow.transition" id="trans_router_picking_done">
110                         <field name="act_from" ref="act_router"/>
111                         <field name="act_to" ref="act_picking_done"/>
112                         <field name="condition">not has_stockable_product()</field>
113                 </record>
114                 <record model="workflow.transition" id="trans_router_invoice">
115                         <field name="act_from" ref="act_router"/>
116                         <field name="act_to" ref="act_invoice"/>
117                         <field name="condition">invoice_method=='order'</field>
118                 </record>
119                 <record model="workflow.transition" id="trans_router_invoice_no_order">
120                         <field name="act_from" ref="act_router"/>
121                         <field name="act_to" ref="act_invoice_done"/>
122                         <field name="condition">invoice_method&lt;&gt;'order'</field>
123                 </record>
124                 <record model="workflow.transition" id="trans_except_picking_picking_done">
125                         <field name="act_from" ref="act_except_picking"/>
126                         <field name="act_to" ref="act_picking_done"/>
127                         <field name="signal">picking_ok</field>
128                 </record>
129                 <record model="workflow.transition" id="trans_except_invoice_invoice_done">
130                         <field name="act_from" ref="act_except_invoice"/>
131                         <field name="act_to" ref="act_invoice_done"/>
132                         <field name="signal">invoice_ok</field>
133                 </record>
134                 <record model="workflow.transition" id="trans_except_picking">
135                         <field name="act_from" ref="act_except_picking"/>
136                         <field name="act_to" ref="act_cancel"/>
137                         <field name="signal">cancel</field>
138                 </record>
139                 <record model="workflow.transition" id="trans_except_invoice">
140                         <field name="act_from" ref="act_except_invoice"/>
141                         <field name="act_to" ref="act_cancel"/>
142                         <field name="signal">cancel</field>
143                 </record>
144                 <record model="workflow.transition" id="trans_picking_except_picking">
145                         <field name="act_from" ref="act_picking"/>
146                         <field name="act_to" ref="act_except_picking"/>
147                         <field name="signal">subflow.cancel</field>
148                 </record>
149                 <record model="workflow.transition" id="trans_invoice_except_invoice">
150                         <field name="act_from" ref="act_invoice"/>
151                         <field name="act_to" ref="act_except_invoice"/>
152                         <field name="signal">subflow.cancel</field>
153                 </record>
154                 <record model="workflow.transition" id="trans_picking_picking_done">
155                         <field name="act_from" ref="act_picking"/>
156                         <field name="act_to" ref="act_picking_done"/>
157                         <field name="signal">subflow.done</field>
158                 </record>
159                 <record model="workflow.transition" id="trans_invoice_invoice_done">
160                         <field name="act_from" ref="act_invoice"/>
161                         <field name="act_to" ref="act_invoice_done"/>
162                         <field name="signal">subflow.paid</field>
163                 </record>
164                 <record model="workflow.transition" id="trans_picking_done_done">
165                         <field name="act_from" ref="act_picking_done"/>
166                         <field name="act_to" ref="act_done"/>
167                 </record>
168                 <record model="workflow.transition" id="trans_invoice_done_done">
169                         <field name="act_from" ref="act_invoice_done"/>
170                         <field name="act_to" ref="act_done"/>
171                 </record>
172         </data>
173 </terp>