[MERGE]
[odoo/odoo.git] / addons / hr_holidays / hr_holidays_view.xml
1 <?xml version="1.0" ?>
2 <openerp>
3     <data>
4         <record id="view_hr_holidays_filter" model="ir.ui.view">
5             <field name="name">hr.holidays.filter</field>
6             <field name="model">hr.holidays</field>
7             <field name="type">search</field>
8             <field name="arch" type="xml">
9                 <search string="Search Leave">
10                     <group col='8' colspan='4'>
11                         <filter icon="terp-hr" domain="[('state','=','draft')]" string="To Confirm"/>
12                         <filter icon="terp-hr" domain="[('state','=','confirm')]" string="To Validate"/>
13                         <filter icon="terp-hr" domain="[('state','=','validate')]" string="Validated"
14                             default="context.get('report', False)"/>
15                         <separator orientation="vertical"/>
16                         <field name="user_id" widget="selection"/>
17                         <field name="department_id" widget="selection">
18                             <filter icon="terp-hr"
19                                 domain="[('department_id.manager_id','=',uid)]"
20                                 />
21                         </field>
22                         <field name="holiday_status_id" widget="selection"/>
23                     </group>
24                     <newline />
25                     <group expand="1" string="Group By...">
26                         <filter string="Department" icon="terp-sale" domain="[]" context="{'group_by':'department_id'}"/>
27                         <filter string="Manager" icon="terp-sale" domain="[]" context="{'group_by':'manager_id'}"/>
28                         <filter string="User" icon="terp-sale" domain="[]" context="{'group_by':'user_id'}"/>
29                         <separator orientation="vertical"/>
30                         <filter string="State" icon="terp-sale" domain="[]" context="{'group_by':'state'}"/>
31                         <filter string="Type" icon="terp-sale" domain="[]" context="{'group_by':'holiday_status_id'}"
32                             default="context.get('report', False)"/>
33                     </group>
34                 </search>
35             </field>
36         </record>
37
38         <!-- Holidays: Leave Request -->
39         <record model="ir.ui.view" id="edit_holiday_new">
40             <field name="name">Leave Request</field>
41             <field name="model">hr.holidays</field>
42             <field name="type">form</field>
43             <field name="priority">1</field>
44             <field name="arch" type="xml">
45                 <form string="Leave Request">
46                     <group col="8" colspan="4">
47                         <field name="name" select="1"/>
48                         <field name="holiday_type" on_change="onchange_type(holiday_type)" attrs="{'readonly':[('state','!=','draft')]}" width="130"/>
49                         <group attrs="{'invisible':[('holiday_type','=','employee')]}">
50                             <field name="category_id" select="1" attrs="{'required':[('holiday_type','=','category')], 'readonly':[('state','!=','draft')]}"/>
51                         </group>
52                         <group attrs="{'invisible':[('holiday_type','=','category')]}">
53                             <field name="employee_id" select="1" attrs="{'required':[('holiday_type','=','employee')]}"/>
54                         </group>
55                     </group>
56                     <notebook colspan="4">
57                         <page string="General">
58                                 <field name="holiday_status_id" select="1" on_change="onchange_sec_id(holiday_status_id)" context="{'employee_id':employee_id}" />
59                             <field name="department_id"/>
60                                 <field name="date_from" select="1" on_change="onchange_date_from(date_to, date_from)" required="1"/>
61                                 <field name="date_to" select="1" on_change="onchange_date_to(date_from, date_to)" required="1"/>
62                                 <field name="number_of_days_temp"/>
63                             <newline/>
64                             <field name="manager_id"/>
65                             <field name="manager_id2"/>
66                             <separator string="Notes" colspan="4"/>
67                             <field name="notes" nolabel="1" colspan="4"/>
68                             <newline/>
69                             <field name="state" select="1" colspan="2"/>
70                             <group colspan="2">
71                                 <button string="Confirm" name="confirm" states="draft" type="workflow" icon="gtk-yes"/>
72                                 <button string="Validate" name="validate" states="confirm" type="workflow" icon="gtk-apply"/>
73                                                                 <button string="Approve" name="second_validate" states="validate1" type="workflow" icon="gtk-apply"/>
74                                 <button string="Refuse" name="refuse" states="confirm,validate1" type="workflow" icon="gtk-no"/>
75                                 <button string="Cancel" name="cancel" states="validate,refuse" type="workflow" icon="gtk-cancel"/>
76                                 <button string="Set to Draft" name="set_to_draft" states="cancel" type="object" icon="gtk-convert"/>
77                             </group>
78                         </page>
79                     </notebook>
80                 </form>
81             </field>
82         </record>
83
84         <!-- Holidays: Allocation Request -->
85                 <record model="ir.ui.view" id="allocation_leave_new">
86                         <field name="name">Allocation Request</field>
87                         <field name="model">hr.holidays</field>
88                         <field name="type">form</field>
89                         <field name="arch" type="xml">
90                         <form string="Allocation Request">
91                                 <group col="4" colspan="4">
92                                         <field name="name" select="1"/>
93                                         <field name="holiday_status_id" select="1"/>
94                                         <field name="holiday_type" on_change="onchange_type(holiday_type)" attrs="{'readonly':[('state','!=','draft')]}" string="Allocation Type"/>
95                                         <group col="2" colspan="2">
96                                                 <group attrs="{'invisible':[('holiday_type','=','category')]}">
97                                                 <field name="employee_id" select="1" attrs="{'required':[('holiday_type','=','employee')]}"/>
98                                                 </group>
99                                                 <group attrs="{'invisible':[('holiday_type','=','employee')]}">
100                                                 <field name="category_id" select="1" attrs="{'required':[('holiday_type','=','category')], 'readonly':[('state','!=','draft')]}"/>
101                                                 </group>
102                                         </group>
103                                 </group>
104                                 <notebook colspan="4">
105                                         <page string="General">
106                                                 <field name="number_of_days_temp"/>
107                                                 <field name="department_id"/>
108                                                 <field name="manager_id"/>
109                                                 <field name="manager_id2"/>
110                                                 <separator string="Notes" colspan="4"/>
111                                                 <field name="notes" nolabel="1" colspan="4" />
112                                                 <newline/>
113                                                 <field name="state" select="1" colspan="2"/>
114                                                 <group colspan="2">
115                                                         <button string="Confirm" name="confirm" states="draft" type="workflow" icon="gtk-yes"/>
116                                                         <button string="Validate" name="validate" states="confirm" type="workflow" icon="gtk-apply"/>
117                                                         <button string="Approve" name="second_validate" states="validate1" type="workflow" icon="gtk-apply"/>
118                                                         <button string="Refuse" name="refuse" states="confirm,validate1" type="workflow" icon="gtk-no"/>
119                                                         <button string="Cancel" name="cancel" states="validate,refuse" type="workflow" icon="gtk-cancel"/>
120                                                         <button string="Set to Draft" name="set_to_draft" states="cancel" type="object" icon="gtk-convert"/>
121                                                 </group>
122                                         </page>
123                                 </notebook>
124                         </form>
125                         </field>
126                 </record>
127
128         <record model="ir.ui.view" id="view_holiday_allocation_tree">
129             <field name="name">hr.holidays.allocation.tree</field>
130             <field name="model">hr.holidays</field>
131             <field name="type">tree</field>
132             <field name="arch" type="xml">
133                 <tree string="Leaves"
134                     colors="red:state == 'refuse';grey:state == 'cancel'">
135                     <field name="employee_id"/>
136                     <field name="department_id"/>
137                     <field name="number_of_days" string="Number of Days" sum='Remaining Days'/>
138                     <field name="name"/>
139                     <field name="holiday_status_id"/>
140                     <field name="manager_id" invisible="1"/>
141                     <field name="type"/>
142                     <field name="state"/>
143                 </tree>
144             </field>
145         </record>
146
147         <!-- Holidays: Leaves Management -->
148         <record model="ir.ui.view" id="allocation_company_new">
149             <field name="name">Leaves Management</field>
150             <field name="model">hr.holidays</field>
151             <field name="type">form</field>
152             <field name="arch" type="xml">
153                 <form string="Leaves Management">
154                     <field name="name" select="1"/>
155                     <field name="holiday_status_id" select="1"/>
156 <!--                    <field name="holiday_type"/>
157                     <field name="category_id" select="1" required="1"/>
158 -->                    <field name="employee_id" select="1" />
159                     <!--<field name="department_id"/>-->
160                     <field name="type"/>
161                     <field name="date_from" select="1" on_change="onchange_date_from(date_to, date_from)" attrs="{'readonly':[('type','=','add')], 'required':[('type','=','remove')]}"/>
162                     <field name="date_to" select="1" on_change="onchange_date_to(date_from, date_to)" attrs="{'readonly':[('type','=','add')], 'required':[('type','=','remove')]}"/>
163                     <field name="number_of_days_temp"/>
164                     <notebook colspan="4">
165                         <page string="General">
166                             <field name="manager_id"/>
167                             <field name="notes" colspan="4"/>
168                             <newline/>
169                             <field name="state" select="1" colspan="2"/>
170                             <group colspan="2">
171                                 <button string="Confirm" name="confirm" states="draft" type="workflow" icon="gtk-yes"/>
172                                 <button string="Validate" name="validate" states="confirm" type="workflow" icon="gtk-apply"/>
173                                 <button string="Refuse" name="refuse" states="confirm" type="workflow" icon="gtk-no"/>
174                                 <button string="Cancel" name="cancel" states="validate,refuse,validate1" type="workflow" icon="gtk-cancel"/>
175                                 <button string="Set to Draft" name="set_to_draft" states="cancel" type="object" icon="gtk-convert"/>
176                             </group>
177                         </page>
178                     </notebook>
179                 </form>
180             </field>
181         </record>
182
183         <record model="ir.ui.view" id="view_holiday_simple">
184             <field name="name">hr.holidays.reprot_tree</field>
185             <field name="model">hr.holidays</field>
186             <field name="type">tree</field>
187             <field name="priority">20</field>
188             <field name="arch" type="xml">
189                 <tree string="Leaves Summary">
190                     <field name="employee_id"/>
191                     <field name="department_id" invisible="1"/>
192                     <field name="number_of_days" string="Number of Days" sum='Remaining Days'/>
193                     <field name="date_from" invisible="1"/>
194                     <field name="date_to" invisible="1"/>
195                     <field name="name" invisible="1"/>
196                     <field name="holiday_status_id"/>
197                     <field name="manager_id" invisible="1"/>
198                     <field name="type" invisible="1"/>
199                     <field name="state" invisible="1"/>
200                 </tree>
201             </field>
202         </record>
203
204
205         <record model="ir.ui.view" id="view_holiday">
206             <field name="name">hr.holidays.tree</field>
207             <field name="model">hr.holidays</field>
208             <field name="type">tree</field>
209             <field name="arch" type="xml">
210                 <tree string="Leaves"
211                     colors="red:state == 'refuse';grey:state == 'cancel'">
212                     <field name="employee_id"/>
213                     <field name="department_id"/>
214                     <field name="number_of_days" string="Number of Days" sum='Remaining Days'/>
215                     <field name="date_from"/>
216                     <field name="date_to"/>
217                     <field name="name"/>
218                     <field name="holiday_status_id"/>
219                     <field name="manager_id" invisible="1"/>
220                     <field name="type"/>
221                     <field name="state"/>
222                 </tree>
223             </field>
224         </record>
225
226         <!-- My leave dashboard -->
227 <!--        <record model="ir.ui.view" id="view_my_leave_board_form">
228             <field name="name">hr.holidays.per.user.form</field>
229             <field name="model">hr.holidays.per.user</field>
230             <field name="type">form</field>
231             <field name="arch" type="xml">
232                 <form string="My Leaves" >
233                     <field name="employee_id"/>
234                     <field name="user_id"/>
235                     <field name="holiday_status"/>
236                     <field name="max_leaves"/>
237                     <field name="leaves_taken" />
238                     <field name="remaining_leaves"/>
239                     <field name="notes" colspan="4"/>
240                 </form>
241             </field>
242         </record>
243 -->
244         <menuitem
245             name="Holidays Management"
246             parent="hr.menu_hr_root"
247             id="menu_open_ask_holidays"
248             sequence="9"/>
249
250         <record model="ir.actions.act_window" id="open_ask_holidays">
251             <field name="name">Leave Requests</field>
252             <field name="res_model">hr.holidays</field>
253             <field name="view_type">form</field>
254             <field name="view_id" ref="edit_holiday_new"/>
255             <field name="domain">[('type','=','remove')]</field>
256             <field name="context">{'search_default_user_id':uid}</field>
257             <field name="search_view_id" ref="view_hr_holidays_filter"/>
258         </record>
259
260      <record model="ir.actions.act_window.view" id="action_open_ask_holidays_tree">
261         <field name="sequence" eval="1"/>
262         <field name="view_mode">tree</field>
263         <field name="view_id" ref="view_holiday"/>
264         <field name="act_window_id" ref="open_ask_holidays"/>
265     </record>
266
267     <record model="ir.actions.act_window.view" id="action_open_ask_holidays_form">
268         <field name="sequence" eval="2"/>
269         <field name="view_mode">form</field>
270         <field name="view_id" ref="edit_holiday_new"/>
271         <field name="act_window_id" ref="open_ask_holidays"/>
272     </record>
273
274
275     <menuitem
276        name="Leave Requests"
277          parent="menu_open_ask_holidays"
278          id="menu_open_ask_holidays_new"
279          action="open_ask_holidays"/>
280
281         <record model="ir.actions.act_window" id="open_allocation_holidays">
282             <field name="name">Allocation Requests</field>
283             <field name="res_model">hr.holidays</field>
284             <field name="view_type">form</field>
285             <field name="context">{'search_default_user_id':uid,'type':'add'}</field>
286             <field name="domain">[('type','=','add')]</field>
287             <field name="view_id" ref="allocation_leave_new"/>
288             <field name="search_view_id" ref="view_hr_holidays_filter"/>
289         </record>
290
291     <record model="ir.actions.act_window.view" id="action_open_allocation_holidays_tree">
292         <field name="sequence" eval="1"/>
293         <field name="view_mode">tree</field>
294         <field name="view_id" ref="view_holiday_allocation_tree"/>
295         <field name="act_window_id" ref="open_allocation_holidays"/>
296     </record>
297
298     <record model="ir.actions.act_window.view" id="action_open_allocation_holidays_form">
299         <field name="sequence" eval="2"/>
300         <field name="view_mode">form</field>
301         <field name="view_id" ref="allocation_leave_new"/>
302         <field name="act_window_id" ref="open_allocation_holidays"/>
303     </record>
304
305
306      <menuitem
307           name="Allocation Requests"
308             parent="menu_open_ask_holidays"
309             id="menu_open_allocation_holidays"
310             action="open_allocation_holidays"/>
311
312         <record model="ir.actions.act_window" id="open_company_allocation">
313             <field name="res_model">hr.holidays</field>
314             <field name="view_type">form</field>
315             <field name="view_mode">tree,form</field>
316             <field name="view_id" eval="view_holiday_simple"/>
317             <field name="context">{'search_default_user_id':uid,'allocation_type':'company', 'report':True}</field>
318             <field name="search_view_id" ref="view_hr_holidays_filter"/>
319         </record>
320
321         <menuitem
322             name="Leaves Summary"
323             parent="menu_open_ask_holidays"
324             id="menu_open_company_allocation"
325             action="open_company_allocation"
326             groups="hr.group_hr_manager"
327             sequence="40"/>
328
329         <!-- holidays status -->
330         <record model="ir.ui.view" id="edit_holiday_status_form">
331             <field name="name">hr.holidays.status.form</field>
332             <field name="model">hr.holidays.status</field>
333             <field name="type">form</field>
334             <field name="arch" type="xml">
335                 <form string="Leave Type">
336                     <field colspan="4" name="name" select="1"/>
337                     <field name="limit"/>
338                     <field name="active"/>
339                     <field name="categ_id"  select="1" widget="selection"/>
340                     <field name="color_name"/>
341                     <field name="double_validation" />
342                 </form>
343             </field>
344         </record>
345         <record model="ir.ui.view" id="view_holiday_status_tree">
346             <field name="name">hr.holidays.status.tree</field>
347             <field name="model">hr.holidays.status</field>
348             <field name="type">tree</field>
349             <field name="arch" type="xml">
350                 <tree string="Leave Type">
351                     <field name="name"/>
352                     <field name="remaining_leaves"/>
353                     <field name="limit" />
354                 </tree>
355             </field>
356         </record>
357         <record id="open_view_holiday_status" model="ir.actions.act_window">
358             <field name="name">Leave Type</field>
359             <field name="type">ir.actions.act_window</field>
360             <field name="res_model">hr.holidays.status</field>
361             <field name="view_type">form</field>
362             <field name="view_mode">tree,form</field>
363         </record>
364
365         <menuitem sequence="9" id="hr.menu_open_view_attendance_reason_config" parent="hr.menu_hr_configuration" name="Leaves"/>
366         <menuitem name="Leave Status"
367             action="open_view_holiday_status"
368             id="menu_open_view_holiday_status"
369             parent="hr.menu_open_view_attendance_reason_config"/>
370
371         <!-- holiday on resource leave -->
372         <record id="resource_calendar_leave_form_inherit" model="ir.ui.view">
373             <field name="name">resource.calendar.leaves.form.inherit</field>
374             <field name="model">resource.calendar.leaves</field>
375             <field name="type">form</field>
376             <field name="inherit_id" ref="resource.resource_calendar_leave_form"/>
377             <field name="arch" type="xml">
378                 <field name="date_to" position="after">
379                         <field name="holiday_id"/>
380                 </field>
381             </field>
382         </record>
383
384     <!--  Shortcuts -->
385         <act_window name="Holidays"
386             domain="[('employee_id', '=', active_id), ('type','=','remove')]"
387             res_model="hr.holidays"
388             src_model="hr.employee"
389             view_id ="eval('edit_holiday_new')"
390             id="act_hr_employee_holiday_request"/>
391
392     </data>
393 </openerp>