[FIX]crm: crm lead/opp merge, when opp has stage with state cancel, then it is less...
[odoo/odoo.git] / addons / procurement / procurement_workflow.xml
1 <?xml version="1.0" encoding="utf-8"?>
2 <openerp>
3     <data>
4
5         <record id="wkf_procurement" model="workflow">
6             <field name="name">procurement.order.basic</field>
7             <field name="osv">procurement.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="wkf_procurement"/>
13             <field name="flow_start">True</field>
14             <field name="name">draft</field>
15         </record>
16         <record id="act_cancel" model="workflow.activity">
17             <field name="wkf_id" ref="wkf_procurement"/>
18             <field name="name">cancel</field>
19             <field name="kind">function</field>
20             <field name="action">action_cancel()</field>
21             <field name="flow_stop">True</field>
22         </record>
23         <record id="act_confirm" model="workflow.activity">
24             <field name="wkf_id" ref="wkf_procurement"/>
25             <field name="name">confirm</field>
26             <field name="kind">function</field>
27             <field name="action">action_confirm()</field>
28         </record>
29         <record id="act_confirm_wait" model="workflow.activity">
30             <field name="wkf_id" ref="wkf_procurement"/>
31             <field name="name">confirm_wait</field>
32             <field name="kind">function</field>
33             <field name="action">write({'state':'exception'})</field>
34         </record>
35         <record id="act_confirm_mts" model="workflow.activity">
36             <field name="wkf_id" ref="wkf_procurement"/>
37             <field name="name">confirm_mts</field>
38         </record>
39         <record id="act_confirm_mto" model="workflow.activity">
40             <field name="wkf_id" ref="wkf_procurement"/>
41             <field name="name">confirm_mto</field>
42         </record>
43         <record id="act_make_to_stock" model="workflow.activity">
44             <field name="wkf_id" ref="wkf_procurement"/>
45             <field name="name">make_to_stock</field>
46             <field name="kind">function</field>
47             <field name="action">action_move_assigned()</field>
48         </record>
49
50         <record id="act_make_done" model="workflow.activity">
51             <field name="wkf_id" ref="wkf_procurement"/>
52             <field name="name">ready</field>
53             <field name="kind">function</field>
54             <field name="action">action_ready()</field>
55         </record>
56         <record id="act_wait_done" model="workflow.activity">
57             <field name="wkf_id" ref="wkf_procurement"/>
58             <field name="name">wait_done</field>
59             <field name="kind">function</field>
60             <field name="action">write({'state':'waiting'})</field>
61         </record>
62
63         <record id="act_done" model="workflow.activity">
64             <field name="wkf_id" ref="wkf_procurement"/>
65             <field name="flow_stop">True</field>
66             <field name="name">done</field>
67             <field name="kind">function</field>
68             <field name="action">action_done()</field>
69         </record>
70
71         <record id="trans_draft_confirm" model="workflow.transition">
72             <field name="act_from" ref="act_draft"/>
73             <field name="act_to" ref="act_confirm"/>
74             <field name="signal">button_confirm</field>
75         </record>
76         <record id="trans_confirm_cancel2" model="workflow.transition">
77             <field name="act_from" ref="act_confirm"/>
78             <field name="act_to" ref="act_wait_done"/>
79             <field name="signal">button_wait_done</field>
80             <field name="condition">True</field>
81         </record>
82         <record id="trans_confirm_wait_done" model="workflow.transition">
83             <field name="act_from" ref="act_wait_done"/>
84             <field name="act_to" ref="act_done"/>
85             <field name="condition">check_move_done()</field>
86             <field name="trigger_model">stock.move</field>
87             <field name="trigger_expr_id">[move_id.id]</field>
88         </record>
89
90         <record id="trans_confirm_cancel" model="workflow.transition">
91             <field name="act_from" ref="act_confirm"/>
92             <field name="act_to" ref="act_cancel"/>
93             <field name="signal">button_check</field>
94             <field name="condition">test_cancel()</field>
95         </record>
96         <record id="trans_confirm_confirm_wait" model="workflow.transition">
97             <field name="act_from" ref="act_confirm"/>
98             <field name="act_to" ref="act_confirm_wait"/>
99             <field name="signal">button_check</field>
100             <field name="condition">check_conditions_confirm2wait()</field>
101         </record>
102         <record id="trans_confirm_wait_confirm_mto" model="workflow.transition">
103             <field name="act_from" ref="act_confirm_wait"/>
104             <field name="act_to" ref="act_confirm_mto"/>
105             <field name="condition">procure_method=='make_to_order'</field>
106         </record>
107         <record id="trans_confirm_wait_confirm_mts" model="workflow.transition">
108             <field name="act_from" ref="act_confirm_wait"/>
109             <field name="act_to" ref="act_confirm_mts"/>
110             <field name="condition">procure_method=='make_to_stock'</field>
111         </record>
112         <record id="trans_confirm_mts_cancel" model="workflow.transition">
113             <field name="act_from" ref="act_confirm_mts"/>
114             <field name="act_to" ref="act_cancel"/>
115             <field name="signal">button_cancel</field>
116         </record>
117         <record id="trans_confirm_waiting_cancel" model="workflow.transition">
118             <field name="act_from" ref="act_wait_done"/>
119             <field name="act_to" ref="act_cancel"/>
120             <field name="signal">button_cancel</field>
121         </record>
122         <record id="trans_confirm_mts_confirm" model="workflow.transition">
123             <field name="act_from" ref="act_confirm_mts"/>
124             <field name="act_to" ref="act_confirm"/>
125             <field name="signal">button_restart</field>
126         </record>
127         <record id="trans_confirm_mto_cancel" model="workflow.transition">
128             <field name="act_from" ref="act_confirm_mto"/>
129             <field name="act_to" ref="act_cancel"/>
130             <field name="signal">button_cancel</field>
131         </record>
132         <record id="trans_confirm_mto_confirm" model="workflow.transition">
133             <field name="act_from" ref="act_confirm_mto"/>
134             <field name="act_to" ref="act_confirm"/>
135             <field name="signal">button_restart</field>
136         </record>
137         <record id="trans_draft_cancel" model="workflow.transition">
138             <field name="act_from" ref="act_draft"/>
139             <field name="act_to" ref="act_cancel"/>
140             <field name="signal">button_cancel</field>
141         </record>
142         <record id="trans_confirm_mts_make_to_stock" model="workflow.transition">
143             <field name="act_from" ref="act_confirm_mts"/>
144             <field name="act_to" ref="act_make_to_stock"/>
145             <field name="condition">check_make_to_stock()</field>
146         </record>
147
148         <record id="trans_confirm_mto_make_done" model="workflow.transition">
149             <!-- This transition is there to unblock products that would be in MTO with a supply method that would be
150                  produce or buy without MRP or purchase module installed. These modules overwrite the check_produce()
151                  and check_buy() methods -so that it invalidates their part of this 'bypass transition'-,  and define
152                  their own workflow paths.
153             -->
154             <field name="act_from" ref="act_confirm_mto"/>
155             <field name="act_to" ref="act_make_done"/>
156             <field name="condition">not check_produce() and not check_buy()</field>
157         </record>
158
159         <record id="trans_make_to_stock_make_done" model="workflow.transition">
160             <field name="act_from" ref="act_make_to_stock"/> <!-- TOFIX: If product is service product and procure method is 'make_to_stock', procurement is closed without generated service -->
161             <field name="act_to" ref="act_make_done"/>
162             <field name="condition">True</field>
163             <field name="trigger_model" eval="False"/>
164             <field name="trigger_expr_id" eval="False"/>
165         </record>
166
167         <record id="trans_make_done_done" model="workflow.transition">
168             <field name="act_from" ref="act_make_done"/>
169             <field name="act_to" ref="act_done"/>
170             <field name="condition">action_check_finished()</field>
171             <field name="trigger_model">stock.move</field>
172             <field name="trigger_expr_id">move_id and [move_id.id] or []</field>
173         </record>
174         <record id="trans_make_done_confirm" model="workflow.transition">
175             <field name="act_from" ref="act_make_done"/>
176             <field name="act_to" ref="act_cancel"/>
177             <field name="condition">check_move_cancel()</field>
178         </record>
179
180     </data>
181 </openerp>