[IMP] HR Modules improvements (ref: PSI)
[odoo/odoo.git] / addons / hr / hr_view.xml
1 <?xml version="1.0" encoding="utf-8"?>
2 <openerp>
3     <data>
4
5         <menuitem id="menu_hr_root" icon="terp-hr" name="Human Resources" sequence="15"/>
6         <menuitem id="menu_hr_main" parent="menu_hr_root" name="Human Resources" sequence="0"/>
7         <menuitem id="menu_hr_configuration" name="Configuration" parent="hr.menu_hr_root" groups="group_hr_manager"    sequence="50" />
8         <menuitem id="menu_hr_management" name="Human Resources" parent="hr.menu_hr_configuration"       groups="group_hr_manager" sequence="1" />
9         <menuitem id="menu_view_employee_category_configuration_form" parent="hr.menu_hr_management" name="Employees"
10             sequence="1"/>
11
12         <!--
13         ==========
14         Employee
15         ==========
16         -->
17         <record id="view_employee_form" model="ir.ui.view">
18             <field name="name">hr.employee.form</field>
19             <field name="model">hr.employee</field>
20             <field name="type">form</field>
21             <field name="arch" type="xml">
22                 <form string="Employee">
23                     <group colspan="4" col="8">
24                         <group colspan="6" col="6">
25                         <field colspan="6" name="name" />
26                         <field name="user_id"/>
27                         <field name="company_id" widget="selection" groups="base.group_multi_company"/>
28                         <field name="active" groups="base.group_extended"/>
29                         <newline/>
30                         <field name="parent_id" />
31                         <field name="coach_id" />
32                         </group>
33                         <group colspan="2" col="1">
34                         <field name="photo" widget='image' nolabel="1"/>
35                         </group>
36                     </group>
37                     <notebook colspan="6">
38                         <page string="Personal Information">
39                             <group col="2" colspan="2">
40                             <separator colspan="2" string="Social IDs"/>
41                             <field name="ssnid"/>
42                             <field name="sinid" groups="base.group_extended"/>
43                             <field name="otherid" groups="base.group_extended"/>
44                             </group>
45                             <group col="2" colspan="2">
46                             <separator string="Status" colspan="2"/>
47                             <field name="gender"/>
48                             <field name="marital" widget="selection"/>
49                             <field name="country_id"/>
50                             <field name="birthday"/>
51                             </group>
52                             <group col="2" colspan="2">
53                             <separator string="Contact Information" colspan="2"/>
54                             <field name="address_home_id" colspan="2"/>
55                             <field name="partner_id" invisible="1" />
56                             <field name="address_id" colspan="2" domain="[('partner_id', '=', partner_id)]"/>
57                             <field name="work_phone"/>
58                             <field name="work_email" widget="email" />
59                             <field name="work_location"/>
60                             </group>
61                             <group col="2" colspan="2">
62                             <separator string="Position" colspan="2"/>
63                             <field name="job_id" widget="selection"/>
64                             <field name="department_id" widget="selection"/>
65                             <field name="category_id" widget="selection"/>
66                             <!--<separator string="Managers" colspan="2"/>
67                             <field name="parent_id" />
68                             <field name="coach_id" />-->
69                             </group>
70                         </page>
71                         <page string="Notes">
72                             <field colspan="4" nolabel="1" name="notes"/>
73                         </page>
74                     </notebook>
75                 </form>
76             </field>
77         </record>
78
79         <record id="view_employee_tree" model="ir.ui.view">
80             <field name="name">hr.employee.tree</field>
81             <field name="model">hr.employee</field>
82             <field name="type">tree</field>
83             <field name="field_parent">child_ids</field>
84             <field name="arch" type="xml">
85                 <tree string="Employees">
86                     <field name="name"/>
87                     <field name="work_phone"/>
88                     <field name="work_email"/>
89                     <field name="department_id"/>
90                     <field name="job_id"/>
91                     <field name="category_id"/>
92                     <field name="parent_id"/>
93                     <field name="coach_id" invisible="1" />
94                 </tree>
95             </field>
96         </record>
97
98         <record id="view_employee_filter" model="ir.ui.view">
99             <field name="name">Employees</field>
100             <field name="model">hr.employee</field>
101             <field name="type">search</field>
102             <field name="arch" type="xml">
103                 <search string="Employees">
104                     <filter icon="terp-personal-" domain="[('active','=',False)]" string="Unactive" groups="base.group_extended"/>
105                     <field name="name"/>
106                     <field name="department_id" widget="selection">
107                     <filter icon="terp-personal+" domain="[('department_id','=',context.get('department_id',False))]" help="My Departments Employee"/>
108                     </field>
109                     <field name="job_id" widget="selection"/>
110                     <field name="parent_id"/>
111                     <newline />
112                     <group expand="0" string="Group By...">
113                     <filter string="Manager" icon="terp-personal" domain="[]" context="{'group_by':'parent_id'}"/>
114                     <filter string="Coach" icon="terp-personal" domain="[]" context="{'group_by':'coach_id'}" groups="base.group_extended"/>
115                     <separator orientation="vertical" />
116                     <filter string="Department" icon="terp-personal+" domain="[]" context="{'group_by':'department_id'}"/>
117                     <filter string="Job" icon="terp-gtk-select-all" domain="[]" context="{'group_by':'job_id'}"/>
118                     </group>
119                 </search>
120              </field>
121          </record>
122
123         <record id="open_view_employee_tree" model="ir.actions.act_window">
124             <field name="name">Employees Structure</field>
125             <field name="res_model">hr.employee</field>
126             <field name="view_type">tree</field>
127             <field name="view_mode">tree,form</field>
128             <field name="view_id" ref="view_employee_tree"/>
129             <field name="domain">[('parent_id','=',False)]</field>
130             <field name="search_view_id" ref="view_employee_filter"/>
131         </record>
132
133         <record id="open_view_employee_list" model="ir.actions.act_window">
134             <field name="name">Employees</field>
135             <field name="res_model">hr.employee</field>
136             <field name="view_type">form</field>
137             <field name="view_mode">tree,form</field>
138             <field name="view_id" eval="False"/>
139             <field name="search_view_id" ref="view_employee_filter"/>
140         </record>
141
142         <record id="open_view_employee_list_my" model="ir.actions.act_window">
143             <field name="name">Employees</field>
144             <field name="res_model">hr.employee</field>
145             <field name="view_type">form</field>
146             <field name="view_mode">tree,form</field>
147             <field name="domain">[]</field>
148             <field name="view_id" ref="view_employee_tree"/>
149             <field name="search_view_id" ref="view_employee_filter"/>
150         </record>
151
152         <menuitem action="open_view_employee_list_my" id="menu_open_view_employee_list_my" sequence="3" parent="menu_hr_main"/>
153
154         <!--
155         =======================
156         Employee marital status
157         =======================
158         -->
159
160                 <record id="hr_hr_employee_marital_status_tree" model="ir.ui.view">
161             <field name="name">hr.hr.employee.marital.status.tree</field>
162             <field name="model">hr.employee.marital.status</field>
163             <field name="type">tree</field>
164             <field name="arch" type="xml">
165                 <tree string="Marital Status">
166                     <field name="name" />
167                 </tree>
168             </field>
169         </record>
170
171         <record id="hr_hr_employee_marital_status_form" model="ir.ui.view">
172             <field name="name">hr.hr.employee.marital.status</field>
173             <field name="model">hr.employee.marital.status</field>
174             <field name="type">form</field>
175             <field name="arch" type="xml">
176                 <form string="Marital Status">
177                     <field name="name"/>
178                     <separator colspan="4" string="Description"/>
179                     <field colspan="4" name="description" nolabel="1"/>
180                 </form>
181             </field>
182         </record>
183
184         <record id="action_hr_marital_status" model="ir.actions.act_window">
185             <field name="name">Marital Status</field>
186             <field name="res_model">hr.employee.marital.status</field>
187             <field name="view_type">form</field>
188             <field name="view_mode">tree,form</field>
189             <field name="view_id" ref="hr_hr_employee_marital_status_tree"/>
190         </record>
191
192         <menuitem action="action_hr_marital_status" id="hr_menu_marital_status"
193             parent="hr.menu_view_employee_category_configuration_form" sequence="3"/>
194
195         <!--
196         =======================
197         Employee architecture
198         =======================
199         -->
200
201         <record id="view_partner_tree2" model="ir.ui.view">
202             <field name="name">hr.employee.tree</field>
203             <field name="model">hr.employee</field>
204             <field name="type">tree</field>
205             <field name="field_parent">child_ids</field>
206             <field name="arch" type="xml">
207                 <tree string="Employees">
208                     <field name="name"/>
209                     <field name="ssnid"/>
210                     <field name="user_id"/>
211                     <field name="address_id"/>
212                 </tree>
213             </field>
214         </record>
215
216         <record id="action2" model="ir.actions.act_window">
217             <field name="name">Employee Hierarchy</field>
218             <field name="type">ir.actions.act_window</field>
219             <field name="res_model">hr.employee</field>
220             <field name="domain">[('id','in',active_ids)]</field>
221             <field name="view_type">tree</field>
222             <field name="view_id" ref="view_partner_tree2"/>
223         </record>
224
225         <ir_set>
226             <field eval="'action'" name="key"/>
227             <field eval="'client_action_multi'" name="key2"/>
228             <field eval="['hr.employee']" name="models"/>
229             <field name="name">Employees Hierarchy</field>
230             <field eval="'ir.actions.act_window,'+str(action2)" name="value"/>
231             <field eval="True" name="isobject"/>
232             <field eval="True" name="replace"/>
233         </ir_set>
234
235         <!--
236         ============
237         Employee Category
238         ============
239         -->
240
241        <record id="view_employee_category_form" model="ir.ui.view">
242             <field name="name">hr.employee.category.form</field>
243             <field name="model">hr.employee.category</field>
244             <field name="type">form</field>
245             <field name="arch" type="xml">
246                 <form string="Employee Category">
247                     <field name="name" />
248                     <field name="parent_id" />
249                 </form>
250             </field>
251         </record>
252
253         <record id="view_employee_category_list" model="ir.ui.view">
254             <field name="name">hr.employee.category.list</field>
255             <field name="model">hr.employee.category</field>
256             <field name="type">tree</field>
257             <field eval="8" name="priority"/>
258             <field name="arch" type="xml">
259                 <tree string="Employees Categories">
260                     <field name="name"/>
261                     <field name="parent_id"/>
262                 </tree>
263             </field>
264         </record>
265
266         <record id="view_employee_category_tree" model="ir.ui.view">
267             <field name="name">hr.employee.category.tree</field>
268             <field name="model">hr.employee.category</field>
269             <field name="type">tree</field>
270             <field name="field_parent">child_ids</field>
271             <field name="arch" type="xml">
272                 <tree string="Employees Categories">
273                     <field name="name"/>
274                 </tree>
275             </field>
276         </record>
277
278         <record id="open_view_categ_form" model="ir.actions.act_window">
279             <field name="name">Categories of Employee</field>
280             <field name="res_model">hr.employee.category</field>
281             <field name="view_type">form</field>
282             <field name="view_mode">tree,form</field>
283         </record>
284
285         <menuitem action="open_view_categ_form" id="menu_view_employee_category_form"
286             parent="menu_view_employee_category_configuration_form" sequence="1" groups="base.group_extended"/>
287
288         <record id="open_view_categ_tree" model="ir.actions.act_window">
289             <field name="name">Categories structure</field>
290             <field name="res_model">hr.employee.category</field>
291             <field name="view_type">tree</field>
292             <field name="view_id" ref="view_employee_category_tree"/>
293             <field name="domain">[('parent_id','=',False)]</field>
294         </record>
295
296         <record id="hr_employee_normal_action_tree" model="ir.actions.act_window">
297             <field name="name">Employees</field>
298             <field name="type">ir.actions.act_window</field>
299             <field name="res_model">hr.employee</field>
300             <field name="view_type">form</field>
301             <field name="view_mode">tree,form</field>
302 <!--            <field name="domain">[('category_id','child_of',[active_id])]</field>-->
303 <!--            <field name="context">{'category_id':active_id}</field>-->
304         </record>
305
306         <record id="hr_employee_category_open" model="ir.values">
307             <field eval="'tree_but_open'" name="key2"/>
308             <field eval="'hr.employee.category'" name="model"/>
309             <field name="name">Employees by Categories</field>
310             <field eval="'ir.actions.act_window,%d'%hr_employee_normal_action_tree" name="value"/>
311             <field eval="True" name="object"/>
312         </record>
313
314         <menuitem action="open_view_categ_tree" groups="base.group_extended"
315             id="menu_view_employee_category_tree" parent="hr.menu_view_employee_category_form"/>
316
317         <record id="view_hr_job_form" model="ir.ui.view">
318             <field name="name">hr.job.form</field>
319             <field name="model">hr.job</field>
320             <field name="type">form</field>
321             <field name="arch" type="xml">
322                 <form string="Job">
323                     <group col="6" colspan="4">
324                     <field name="name" />
325                     <field name="department_id" />
326                     <newline/>
327                     <field name="company_id" widget="selection" groups="base.group_multi_company"/>
328                     <field name="expected_employees"/>
329                     <field name="no_of_employee"/>
330                     </group>
331                     <newline/>
332                     <notebook colspan="4">
333                         <page string="Description">
334                             <separator colspan="4" string="Job Description"/>
335                             <field name="description" colspan="4" nolabel="1"/>
336                             <separator colspan="4" string="Requirements"/>
337                             <field name="requirements" colspan="4" nolabel="1"/>
338                         </page>
339                         <page string="Employee">
340                             <field name="employee_ids" colspan='4' nolabel="1"  mode="tree,form"/>
341                         </page>
342                     </notebook>
343                     <field name="state"/>
344                 </form>
345             </field>
346         </record>
347
348         <record id="view_hr_job_tree" model="ir.ui.view">
349             <field name="name">hr.job.tree</field>
350             <field name="model">hr.job</field>
351             <field name="type">tree</field>
352             <field name="arch" type="xml">
353                 <tree string="Job">
354                     <field name="name" />
355                     <field name="department_id" />
356                     <field name="expected_employees"/>
357                     <field name="no_of_employee"/>
358                     <field name="state"/>
359                 </tree>
360             </field>
361         </record>
362
363         <record id="view_job_filter" model="ir.ui.view">
364             <field name="name">Job</field>
365             <field name="model">hr.job</field>
366             <field name="type">search</field>
367             <field name="arch" type="xml">
368                 <search string="Jobs">
369                     <filter icon="terp-check" domain="[('state','in',('open','recruit'))]" string="Current"
370                         help="Open and in recruitment positions"/>
371                     <filter icon="terp-personal+"  domain="[('state','=','recruit')]" string="Recruitment"
372                         help="In Recruitment"/>
373                     <filter icon="terp-camera_test" domain="[('state','=','open')]" string="Open"
374                         help="Open Positions"/>
375                     <separator orientation="vertical"/>
376                     <field name="name"/>
377                     <field name="department_id" widget="selection">
378                         <filter icon="terp-gtk-select-all" domain="[('department_id', '=', context.get('department_id', False))]" help="My Departments Jobs"/>
379                     </field>
380                 </search>
381              </field>
382          </record>
383
384         <record model="ir.actions.act_window" id="action_hr_job">
385             <field name="name">Job Positions</field>
386             <field name="res_model">hr.job</field>
387             <field name="view_type">form</field>
388             <field name="view_mode">tree,form</field>
389         </record>
390
391         <menuitem name="Recruitment" id="base.menu_crm_case_job_req_main" parent="menu_hr_root"/>
392         <menuitem parent="base.menu_crm_case_job_req_main" id="menu_hr_job" action="action_hr_job" sequence="2"/>
393
394     </data>
395 </openerp>