1 <?xml version="1.0" encoding="utf-8"?>
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>
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>
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>
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>
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>
35 <record id="act_confirm_mts" model="workflow.activity">
36 <field name="wkf_id" ref="wkf_procurement"/>
37 <field name="name">confirm_mts</field>
39 <record id="act_confirm_mto" model="workflow.activity">
40 <field name="wkf_id" ref="wkf_procurement"/>
41 <field name="name">confirm_mto</field>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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.
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>
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"/>
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>
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>