define roles in process wherever necessary
[odoo/odoo.git] / addons / purchase / process / purchase_process.xml
1 <?xml version="1.0" ?>
2 <openerp>
3     <data>
4         
5         <!--        
6             Process
7         -->
8         
9         <record id="process_process_purchaseworkflow0" model="process.process">
10             <field eval="&quot;&quot;&quot;Purchase flow for services companies.&quot;&quot;&quot;" name="note"/>
11             <field eval="1" name="active"/>
12             <field eval="&quot;&quot;&quot;Purchase Workflow&quot;&quot;&quot;" name="name"/>
13         </record>
14         
15         <!--        
16             Process Node
17         -->
18     
19         <record id="process_node_purchaseorder0" model="process.node">
20             <field name="menu_id" ref="purchase.menu_purchase_form_action"/>
21             <field name="model_id" ref="purchase.model_purchase_order"/>
22             <field eval="&quot;&quot;&quot;subflow&quot;&quot;&quot;" name="kind"/>
23             <field eval="&quot;&quot;&quot;Purchase Order&quot;&quot;&quot;" name="name"/>
24             <field eval="&quot;&quot;&quot;After confirming purchase order, it is approved by supplier.&quot;&quot;&quot;" name="note"/>
25             <field name="process_id" ref="account.process_process_invoiceworkflow0"/>
26             <field eval="&quot;&quot;&quot;object.state=='draft'&quot;&quot;&quot;" name="model_states"/>
27             <field eval="1" name="flow_start"/>
28         </record>
29     
30         <record id="process_node_draftpurchaseorder0" model="process.node">
31             <field name="menu_id" ref="purchase.menu_purchase_order_draft"/>
32             <field name="model_id" ref="purchase.model_purchase_order"/>
33             <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
34             <field eval="&quot;&quot;&quot;Draft Purchase Order&quot;&quot;&quot;" name="name"/>
35             <field eval="&quot;&quot;&quot;Proposed by the system or manually&quot;&quot;&quot;" name="note"/>
36             <field name="process_id" ref="process_process_purchaseworkflow0"/>
37             <field eval="&quot;&quot;&quot;object.state=='draft'&quot;&quot;&quot;" name="model_states"/>
38             <field eval="0" name="flow_start"/>
39         </record>
40     
41         <record id="process_node_confirmpurchaseorder0" model="process.node">
42             <field name="menu_id" ref="purchase.menu_purchase_form_action3"/>
43             <field name="model_id" ref="purchase.model_purchase_order"/>
44             <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
45             <field eval="&quot;&quot;&quot;Confirm Purchase Order&quot;&quot;&quot;" name="name"/>
46             <field eval="&quot;&quot;&quot;The user confirm he wants to purchase&quot;&quot;&quot;" name="note"/>
47             <field name="process_id" ref="process_process_purchaseworkflow0"/>
48             <field eval="&quot;&quot;&quot;object.state=='confirmed'&quot;&quot;&quot;" name="model_states"/>
49             <field eval="0" name="flow_start"/>
50         </record>
51     
52         <record id="process_node_approvepurchaseorder0" model="process.node">
53             <field name="menu_id" ref="purchase.menu_purchase_form_action4"/>
54             <field name="model_id" ref="purchase.model_purchase_order"/>
55             <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
56             <field eval="&quot;&quot;&quot;Approve Purchase Order&quot;&quot;&quot;" name="name"/>
57             <field eval="&quot;&quot;&quot;The supplier confirms he can deliver&quot;&quot;&quot;" name="note"/>
58             <field name="process_id" ref="process_process_purchaseworkflow0"/>
59             <field eval="&quot;&quot;&quot;object.state=='approved'&quot;&quot;&quot;" name="model_states"/>
60             <field eval="0" name="flow_start"/>
61         </record>
62     
63         <record id="process_node_invoicecontrol0" model="process.node">
64             <field name="menu_id" ref="account.menu_action_invoice_tree8"/>
65             <field name="model_id" ref="account.model_account_invoice"/>
66             <field eval="&quot;&quot;&quot;subflow&quot;&quot;&quot;" name="kind"/>
67             <field eval="&quot;&quot;&quot;Invoice Control&quot;&quot;&quot;" name="name"/>
68             <field eval="&quot;&quot;&quot;Draft invoices are pre-generated for control.&quot;&quot;&quot;" name="note"/>
69             <field name="process_id" ref="process_process_purchaseworkflow0"/>
70             <field eval="&quot;&quot;&quot;object.state=='draft'&quot;&quot;&quot;" name="model_states"/>
71             <field eval="0" name="flow_start"/>
72         </record>
73     
74         <record id="process_node_packinglist0" model="process.node">
75             <field name="menu_id" ref="stock.menu_action_picking_tree4"/>
76             <field name="model_id" ref="stock.model_stock_picking"/>
77             <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
78             <field eval="&quot;&quot;&quot;Packing list&quot;&quot;&quot;" name="name"/>
79             <field eval="&quot;&quot;&quot;Pre-generated in draft for control&quot;&quot;&quot;" name="note"/>
80             <field name="process_id" ref="process_process_purchaseworkflow0"/>
81             <field eval="&quot;&quot;&quot;object.state=='assigned'&quot;&quot;&quot;" name="model_states"/>
82             <field eval="0" name="flow_start"/>
83         </record>
84     
85         <record id="process_node_invoiceafterpacking0" model="process.node">
86             <field name="menu_id" ref="account.menu_finance_invoice"/>
87             <field name="model_id" ref="account.model_account_invoice"/>
88             <field eval="&quot;&quot;&quot;subflow&quot;&quot;&quot;" name="kind"/>
89             <field eval="&quot;&quot;&quot;Invoice after packing&quot;&quot;&quot;" name="name"/>
90             <field eval="&quot;&quot;&quot;In case you control based on delivery&quot;&quot;&quot;" name="note"/>
91             <field name="process_id" ref="process_process_purchaseworkflow0"/>
92             <field eval="&quot;&quot;&quot;object.state=='draft'&quot;&quot;&quot;" name="model_states"/>
93             <field eval="0" name="flow_start"/>
94         </record>
95     
96         <!--        
97             Process Transition
98         -->
99         
100         <record id="res_roles_purchase0" model="res.roles">
101             <field eval="&quot;&quot;&quot;Purchase&quot;&quot;&quot;" name="name"/>
102         </record>
103         
104         <record id="purchase.trans_draft_confirmed" model="workflow.transition">
105             <field name="role_id" ref="res_roles_purchase0"/>
106         </record>
107         
108         <record id="purchase.trans_router_invoice" model="workflow.transition">
109             <field name="role_id" ref="res_roles_purchase0"/>
110         </record>
111         
112         <record id="process_transition_confirmingpurchaseorder0" model="process.transition">
113             <field eval="[(6,0,[])]" name="role_ids"/>
114             <field eval="[(6,0,[])]" name="transition_ids"/>
115             <field eval="&quot;&quot;&quot;Confirming Purchase Order&quot;&quot;&quot;" name="name"/>
116             <field eval="&quot;&quot;&quot;Confirm Purchase order from Request for quotation&quot;&quot;&quot;" name="note"/>
117             <field model="process.node" name="target_node_id" ref="process_node_confirmpurchaseorder0"/>
118             <field model="process.node" name="source_node_id" ref="process_node_draftpurchaseorder0"/>
119             <field eval="[(6,0,[ref('purchase.trans_draft_confirmed')])]" name="transition_ids"/>
120         </record>
121         
122         <record id="process_transition_approvingpurchaseorder0" model="process.transition">
123             <field eval="[(6,0,[])]" name="role_ids"/>
124             <field eval="[(6,0,[])]" name="transition_ids"/>
125             <field eval="&quot;&quot;&quot;Approving Purchase Order&quot;&quot;&quot;" name="name"/>
126             <field eval="&quot;&quot;&quot;Approve Purchase order after Confirming&quot;&quot;&quot;" name="note"/>
127             <field model="process.node" name="target_node_id" ref="process_node_approvepurchaseorder0"/>
128             <field model="process.node" name="source_node_id" ref="process_node_confirmpurchaseorder0" />
129         </record>
130     
131         <record id="process_transition_invoicefrompurchase0" model="process.transition">
132             <field eval="[(6,0,[])]" name="role_ids"/>
133             <field eval="[(6,0,[])]" name="transition_ids"/>
134             <field eval="&quot;&quot;&quot;Invoice from Purchase&quot;&quot;&quot;" name="name"/>
135             <field eval="&quot;&quot;&quot;After approved purchase order , it comes into the supplier invoice&quot;&quot;&quot;" name="note"/>
136             <field model="process.node" name="target_node_id" ref="process_node_invoicecontrol0"/>
137             <field model="process.node" name="source_node_id" ref="process_node_approvepurchaseorder0"/>
138             <field eval="[(6,0,[ref('purchase.trans_router_invoice')])]" name="transition_ids"/>
139         </record>
140     
141         <record id="process_transition_createpackinglist0" model="process.transition">
142             <field eval="[(6,0,[])]" name="role_ids"/>
143             <field eval="[(6,0,[])]" name="transition_ids"/>
144             <field eval="&quot;&quot;&quot;Create Packing list&quot;&quot;&quot;" name="name"/>
145             <field eval="&quot;&quot;&quot;When purchase order is approved , it creates its packing list.&quot;&quot;&quot;" name="note"/>
146             <field model="process.node" name="target_node_id" ref="process_node_packinglist0"/>
147             <field model="process.node" name="source_node_id" ref="process_node_approvepurchaseorder0"/>
148         </record>
149     
150         <record id="process_transition_invoicefrompackinglist0" model="process.transition">
151             <field eval="[(6,0,[])]" name="role_ids"/>
152             <field eval="[(6,0,[])]" name="transition_ids"/>
153             <field eval="&quot;&quot;&quot;Invoice from Packing list&quot;&quot;&quot;" name="name"/>
154             <field eval="&quot;&quot;&quot;Creates invoice from packin list&quot;&quot;&quot;" name="note"/>
155             <field model="process.node" name="target_node_id" ref="process_node_invoiceafterpacking0"/>
156             <field model="process.node" name="source_node_id" ref="process_node_packinglist0"/>
157         </record>
158         
159         <record id="process_transition_purchaseinvoice0" model="process.transition">
160             <field eval="[(6,0,[])]" name="role_ids"/>
161             <field eval="[(6,0,[])]" name="transition_ids"/>
162             <field eval="&quot;&quot;&quot;Purchase Invoice&quot;&quot;&quot;" name="name"/>
163             <field eval="&quot;&quot;&quot;After Purchase order , Create invoice.&quot;&quot;&quot;" name="note"/>
164             <field model="process.node" name="target_node_id" ref="account.process_node_draftinvoices0"/>
165             <field model="process.node" name="source_node_id" ref="process_node_purchaseorder0"/>
166         </record>
167         
168         <!--        
169             Process Action
170         -->
171         
172         <record id="process_transition_action_confirmpurchaseorder0" model="process.transition.action">
173             <field eval="&quot;&quot;&quot;wkf_confirm_order&quot;&quot;&quot;" name="action"/>
174             <field eval="&quot;&quot;&quot;object&quot;&quot;&quot;" name="state"/>
175             <field eval="&quot;&quot;&quot;Confirm&quot;&quot;&quot;" name="name"/>
176             <field name="transition_id" ref="process_transition_confirmingpurchaseorder0"/>
177         </record>
178         
179         <record id="process_transition_action_cancelpurchaseorder0" model="process.transition.action">
180             <field eval="&quot;&quot;&quot;write({'state':'cancel'})&quot;&quot;&quot;" name="action"/>
181             <field eval="&quot;&quot;&quot;object&quot;&quot;&quot;" name="state"/>
182             <field eval="&quot;&quot;&quot;Cancel&quot;&quot;&quot;" name="name"/>
183             <field name="transition_id" ref="process_transition_confirmingpurchaseorder0"/>
184         </record>
185         
186         <record id="process_transition_action_approvingpurchaseorder0" model="process.transition.action">
187             <field eval="&quot;&quot;&quot;wkf_approve_order&quot;&quot;&quot;" name="action"/>
188             <field eval="&quot;&quot;&quot;object&quot;&quot;&quot;" name="state"/>
189             <field eval="&quot;&quot;&quot;Approve&quot;&quot;&quot;" name="name"/>
190             <field name="transition_id" ref="process_transition_approvingpurchaseorder0"/>
191         </record>
192         
193         <record id="process_transition_action_approvingcancelpurchaseorder0" model="process.transition.action">
194             <field eval="&quot;&quot;&quot;write({'state':'cancel'})&quot;&quot;&quot;" name="action"/>
195             <field eval="&quot;&quot;&quot;object&quot;&quot;&quot;" name="state"/>
196             <field eval="&quot;&quot;&quot;Cancel&quot;&quot;&quot;" name="name"/>
197             <field name="transition_id" ref="process_transition_approvingpurchaseorder0"/>
198         </record>.
199         
200         <record id="process_transition_action_invoicefrompurchaseorder0" model="process.transition.action">
201             <field eval="&quot;&quot;&quot;action_invoice_create&quot;&quot;&quot;" name="action"/>
202             <field eval="&quot;&quot;&quot;object&quot;&quot;&quot;" name="state"/>
203             <field eval="&quot;&quot;&quot;Create invoice&quot;&quot;&quot;" name="name"/>
204             <field name="transition_id" ref="process_transition_invoicefrompurchase0"/>
205         </record>
206         
207     </data>
208 </openerp>