Merge remote-tracking branch 'odoo/master' into master-autocompletion-ged
[odoo/odoo.git] / addons / hr_holidays / hr_holidays_workflow.xml
1 <?xml version="1.0" ?>
2 <openerp>
3 <data>
4
5     <!-- Workflow definition
6         1. draft->submitted (confirm signal) if can_reset
7         2. submitted->draft (reset signal) if can_reset
8         2. submitted->accepted (validate signal) if not double_validation
9         2. submitted->first_accepted (validate signal) if double_validation
10         2. submitted->refused (refuse signal)
11         3. accepted->refused (refuse signal)
12         4. first_accepted -> accepted (second_validate signal)
13         4. first_accepted -> refused (refuse signal)
14         5. refuse -> draft (reset signal) if can_reset
15     -->
16
17     <record model="workflow" id="wkf_holidays">
18         <field name="name">hr.wkf.holidays</field>
19         <field name="osv">hr.holidays</field>
20         <field name="on_create">True</field>
21     </record>
22
23     <record model="workflow.activity" id="act_draft"> <!-- draft -->
24         <field name="wkf_id" ref="wkf_holidays" />
25         <field name="name">draft</field>
26         <field name="flow_start" eval="False"/>
27         <field name="kind">function</field>
28         <field name="action">holidays_reset()</field>
29     </record>
30
31     <record model="workflow.activity" id="act_confirm"> <!-- submitted -->
32         <field name="wkf_id" ref="wkf_holidays" />
33         <field name="name">confirm</field>
34         <field name="flow_start" eval="True"/>
35         <field name="kind">function</field>
36         <field name="action">holidays_confirm()</field>
37         <field name="split_mode">OR</field>
38     </record>
39
40     <record model="workflow.activity" id="act_validate"> <!-- accepted -->
41         <field name="wkf_id" ref="wkf_holidays" />
42         <field name="name">validate</field>
43         <field name="kind">function</field>
44         <field name="action">holidays_validate()</field>
45     </record>
46
47     <record model="workflow.activity" id="act_validate1"> <!-- first_accepted -->
48         <field name="wkf_id" ref="wkf_holidays" />
49         <field name="name">first_validate</field>
50         <field name="kind">function</field>
51         <field name="action">holidays_first_validate()</field>
52         <field name="split_mode">OR</field>
53     </record>
54
55     <record model="workflow.activity" id="act_refuse"> <!-- refused -->
56         <field name="wkf_id" ref="wkf_holidays" />
57         <field name="name">refuse</field>
58         <field name="flow_stop" eval="False"/>
59         <field name="kind">function</field>
60         <field name="action">holidays_refuse()</field>
61     </record>
62
63     <!--
64         workflow transition
65     -->
66
67     <record model="workflow.transition" id="holiday_draft2confirm"> <!-- 1. draft->submitted (confirm signal) -->
68         <field name="act_from" ref="act_draft" />
69         <field name="act_to" ref="act_confirm" />
70         <field name="signal">confirm</field>
71         <field name="condition">can_reset</field>
72         <field name="group_id" ref="base.group_user"/>
73     </record>
74
75     <record model="workflow.transition" id="holiday_confirm2draft"> <!-- 2. submitted->draft (reset signal) -->
76         <field name="act_from" ref="act_confirm" />
77         <field name="act_to" ref="act_draft" />
78         <field name="signal">reset</field>
79         <field name="condition">can_reset</field>
80         <field name="group_id" ref="base.group_user"/>
81     </record>
82
83     <record model="workflow.transition" id="holiday_confirm2validate"> <!-- 2. submitted->accepted (validate signal) if not double_validation-->
84         <field name="act_from" ref="act_confirm" />
85         <field name="act_to" ref="act_validate" />
86         <field name="signal">validate</field>
87         <field name="condition">not double_validation</field>
88         <field name="group_id" ref="base.group_hr_user"/>
89     </record>
90
91     <record model="workflow.transition" id="holiday_confirm2validate1"> <!-- 2. submitted -> first_accepted (validate signal) if double_validation-->
92         <field name="act_from" ref="act_confirm" />
93         <field name="act_to" ref="act_validate1" />
94         <field name="signal">validate</field>
95         <field name="condition">double_validation</field>
96         <field name="group_id" ref="base.group_hr_user"/>
97     </record>
98
99     <record model="workflow.transition" id="holiday_confirm2refuse"> <!-- 2. submitted->refused (refuse signal) -->
100         <field name="act_from" ref="act_confirm" />
101         <field name="act_to" ref="act_refuse" />
102         <field name="signal">refuse</field>
103         <field name="condition">True</field>
104         <field name="group_id" ref="base.group_hr_user"/>
105     </record>
106
107     <record model="workflow.transition" id="holiday_validate2refuse"> <!-- 3. accepted->refused (refuse signal) -->
108         <field name="act_from" ref="act_validate" />
109         <field name="act_to" ref="act_refuse" />
110         <field name="signal">refuse</field>
111         <field name="condition">True</field>
112         <field name="group_id" ref="base.group_hr_user"/>
113     </record>
114
115     <record model="workflow.transition" id="holiday_validate2refuse"> <!-- 3. accepted->refused (refuse signal) -->
116         <field name="act_from" ref="act_validate" />
117         <field name="act_to" ref="act_refuse" />
118         <field name="signal">refuse</field>
119         <field name="condition">True</field>
120         <field name="group_id" ref="base.group_hr_user"/>
121     </record>
122
123     <record model="workflow.transition" id="holiday_validate1_validate"> <!-- 4. first_accepted -> accepted (second_validate  signal) -->
124         <field name="act_from" ref="act_validate1" />
125         <field name="act_to" ref="act_validate" />
126         <field name="condition">True</field>
127         <field name="signal">second_validate</field>
128         <field name="group_id" ref="base.group_hr_user"/>
129     </record>
130
131     <record model="workflow.transition" id="holiday_validate1_refuse"> <!-- 4. first_accepted->refused (refuse signal) -->
132         <field name="act_from" ref="act_validate1" />
133         <field name="act_to" ref="act_refuse" />
134         <field name="signal">refuse</field>
135         <field name="condition">True</field>
136         <field name="group_id" ref="base.group_hr_user"/>
137     </record>
138
139     <record model="workflow.transition" id="holiday_refuse2draft"> <!-- 5. refused->draft (reset signal) -->
140         <field name="act_from" ref="act_refuse" />
141         <field name="act_to" ref="act_draft" />
142         <field name="signal">reset</field>
143         <field name="condition">can_reset</field>
144         <field name="group_id" ref="base.group_hr_manager"/>
145     </record>
146
147 </data>
148 </openerp>