[MOD/IMP] hr_* : In HR all fields department prefiltered with user department filter
[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="base.group_system" sequence="50"/>
8         <menuitem id="menu_hr_management" name="Human Resources" parent="hr.menu_hr_configuration" sequence="1"/>
9         <menuitem id="menu_view_employee_category_configuration_form" parent="hr.menu_hr_management" groups="base.group_system" name="Employees" sequence="1" />
10
11         <!--
12         ==========
13         Employee
14         ==========
15         -->
16         <record id="view_employee_form" model="ir.ui.view">
17             <field name="name">hr.employee.form</field>
18             <field name="model">hr.employee</field>
19             <field name="type">form</field>
20             <field name="arch" type="xml">
21                 <form string="Employee">
22                     <group colspan="4" col="8">
23                         <group colspan="6" col="6">
24                         <field colspan="6" name="name" />
25                         <field name="user_id" on_change="onchange_user(user_id)"/>
26                         <field name="company_id" widget="selection" groups="base.group_multi_company,base.group_extended" on_change="onchange_company(company_id)"/>
27                         <field name="active" groups="base.group_extended"/>
28                         <newline/>
29                         <field name="department_id" widget="selection" on_change="onchange_department(department_id)"/>
30                         <field name="parent_id" />
31                         </group>
32                         <group colspan="2" col="1">
33                         <field name="photo" widget='image' nolabel="1"/>
34                         </group>
35                     </group>
36                     <notebook colspan="6">
37                         <page string="Personal Information">
38                             <group col="2" colspan="2">
39                             <separator colspan="2" string="Social IDs"/>
40                             <field name="ssnid"/>
41                             <field name="sinid" groups="base.group_extended"/>
42                             <field name="identification_id" groups="base.group_extended"/>
43                             </group>
44                             <group col="2" colspan="2">
45                             <separator string="Status" colspan="2"/>
46                             <field name="gender"/>
47                             <field name="marital" widget="selection"/>
48                             <field name="country_id"/>
49                             <field name="birthday"/>
50                             </group>
51                             <group col="2" colspan="2">
52                             <separator string="Contact Information" colspan="2"/>
53                             <field name="address_home_id" colspan="2"/>
54                             <field name="partner_id" invisible="1" />
55                             <field name="address_id" colspan="2" domain="[('partner_id', '=', partner_id)]"/>
56                             <field name="work_phone"/>
57                             <field name="work_email" widget="email" />
58                             <field name="work_location"/>
59                             </group>
60                             <group col="2" colspan="2">
61                             <separator string="Position" colspan="2"/>
62                             <field name="job_id" domain="[('state','!=','old')]"/>
63                             <field name="coach_id" />
64                             </group>
65                         </page>
66                         <page string="Categories">
67                             <field name="category_ids" nolabel="1"/>
68                         </page>
69                         <page string="Notes">
70                             <field colspan="4" nolabel="1" name="notes"/>
71                         </page>
72                     </notebook>
73                 </form>
74             </field>
75         </record>
76
77         <record id="view_employee_tree" model="ir.ui.view">
78             <field name="name">hr.employee.tree</field>
79             <field name="model">hr.employee</field>
80             <field name="type">tree</field>
81             <field name="field_parent">child_ids</field>
82             <field name="arch" type="xml">
83                 <tree string="Employees">
84                     <field name="name"/>
85                     <field name="work_phone"/>
86                     <field name="company_id" groups="base.group_multi_company"/>
87                     <field name="work_email" invisible="1"/>
88                     <field name="department_id"/>
89                     <field name="job_id"/>
90                     <field name="parent_id"/>
91                     <field name="coach_id" invisible="1" />
92                 </tree>
93             </field>
94         </record>
95
96         <record id="view_employee_filter" model="ir.ui.view">
97             <field name="name">Employees</field>
98             <field name="model">hr.employee</field>
99             <field name="type">search</field>
100             <field name="arch" type="xml">
101                 <search string="Employees">
102                     <filter icon="terp-personal+" domain="[('active','=',True)]" string="Active" groups="base.group_extended"/>
103                     <separator orientation="vertical" />
104                     <field name="name"/>
105                     <field name="department_id" widget="selection">
106                     <filter icon="terp-personal+" domain="[('department_id','=',context.get('department_id',False))]" string="My Departments Employee"/>
107                     </field>
108                     <field name="job_id" widget="selection"/>
109                     <field name="parent_id"/>
110                     <newline />
111                     <group expand="0" string="Group By...">
112                     <filter string="Manager" icon="terp-personal" domain="[]" context="{'group_by':'parent_id'}"/>
113                     <filter string="Coach" icon="terp-personal" domain="[]" context="{'group_by':'coach_id'}" groups="base.group_extended"/>
114                     <separator orientation="vertical" />
115                     <filter string="Department" icon="terp-personal+" domain="[]" context="{'group_by':'department_id'}"/>
116                     <filter string="Job" icon="terp-gtk-select-all" domain="[]" context="{'group_by':'job_id'}"/>
117                     <filter string="Company" icon="terp-go-home" domain="[]" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
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),('user_id','=',uid)]</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="context">{"search_default_department_id": department_id}</field>
149             <field name="view_id" ref="view_employee_tree"/>
150             <field name="search_view_id" ref="view_employee_filter"/>
151             <field name="help">The employee directory contains all data related to your employees : from their photo up to their hourly estimated costs for the timesheets.Employees are managed by departments and can be linked to users to manage their access rights.</field>
152         </record>
153
154         <menuitem action="open_view_employee_list_my" id="menu_open_view_employee_list_my" sequence="3" parent="menu_hr_main" groups="base.group_system,base.group_hr_manager,base.group_hr_user"/>
155
156         <!--
157         =======================
158         Employee marital status
159         =======================
160         -->
161
162     <record id="hr_hr_employee_marital_status_tree" model="ir.ui.view">
163             <field name="name">hr.hr.employee.marital.status.tree</field>
164             <field name="model">hr.employee.marital.status</field>
165             <field name="type">tree</field>
166             <field name="arch" type="xml">
167                 <tree string="Marital Status">
168                     <field name="name" />
169                 </tree>
170             </field>
171         </record>
172
173         <record id="hr_hr_employee_marital_status_form" model="ir.ui.view">
174             <field name="name">hr.hr.employee.marital.status</field>
175             <field name="model">hr.employee.marital.status</field>
176             <field name="type">form</field>
177             <field name="arch" type="xml">
178                 <form string="Marital Status">
179                     <field name="name"/>
180                     <separator colspan="4" string="Description"/>
181                     <field colspan="4" name="description" nolabel="1"/>
182                 </form>
183             </field>
184         </record>
185
186         <record id="action_hr_marital_status" model="ir.actions.act_window">
187             <field name="name">Marital Status</field>
188             <field name="res_model">hr.employee.marital.status</field>
189             <field name="view_type">form</field>
190             <field name="view_mode">tree,form</field>
191             <field name="view_id" ref="hr_hr_employee_marital_status_tree"/>
192         </record>
193
194         <menuitem action="action_hr_marital_status" id="hr_menu_marital_status"
195             parent="hr.menu_view_employee_category_configuration_form" sequence="3" groups="base.group_extended"/>
196
197         <!--
198         =======================
199         Employee architecture
200         =======================
201         -->
202
203         <record id="view_partner_tree2" model="ir.ui.view">
204             <field name="name">hr.employee.tree</field>
205             <field name="model">hr.employee</field>
206             <field name="type">tree</field>
207             <field name="field_parent">child_ids</field>
208             <field name="arch" type="xml">
209                 <tree string="Employees">
210                     <field name="name"/>
211                     <field name="ssnid"/>
212                     <field name="user_id"/>
213                     <field name="address_id"/>
214                 </tree>
215             </field>
216         </record>
217
218         <record id="action2" model="ir.actions.act_window">
219             <field name="name">Employee Hierarchy</field>
220             <field name="type">ir.actions.act_window</field>
221             <field name="res_model">hr.employee</field>
222             <field name="domain">[('id','in',active_ids)]</field>
223             <field name="view_type">tree</field>
224             <field name="view_id" ref="view_partner_tree2"/>
225         </record>
226
227         <ir_set>
228             <field eval="'action'" name="key"/>
229             <field eval="'client_action_multi'" name="key2"/>
230             <field eval="['hr.employee']" name="models"/>
231             <field name="name">Employees Hierarchy</field>
232             <field eval="'ir.actions.act_window,'+str(action2)" name="value"/>
233             <field eval="True" name="isobject"/>
234             <field eval="True" name="replace"/>
235         </ir_set>
236
237         <!--
238         ============
239         Employee Category
240         ============
241         -->
242
243        <record id="view_employee_category_form" model="ir.ui.view">
244             <field name="name">hr.employee.category.form</field>
245             <field name="model">hr.employee.category</field>
246             <field name="type">form</field>
247             <field name="arch" type="xml">
248                 <form string="Employee Category">
249                     <field name="name" />
250                     <field name="parent_id" />
251                 </form>
252             </field>
253         </record>
254
255         <record id="view_employee_category_list" model="ir.ui.view">
256             <field name="name">hr.employee.category.list</field>
257             <field name="model">hr.employee.category</field>
258             <field name="type">tree</field>
259             <field eval="8" name="priority"/>
260             <field name="arch" type="xml">
261                 <tree string="Employees Categories">
262                     <field name="name"/>
263                     <field name="parent_id"/>
264                 </tree>
265             </field>
266         </record>
267
268         <record id="view_employee_category_tree" model="ir.ui.view">
269             <field name="name">hr.employee.category.tree</field>
270             <field name="model">hr.employee.category</field>
271             <field name="type">tree</field>
272             <field name="field_parent">child_ids</field>
273             <field name="arch" type="xml">
274                 <tree string="Employees Categories">
275                     <field name="name"/>
276                 </tree>
277             </field>
278         </record>
279
280         <record id="open_view_categ_form" model="ir.actions.act_window">
281             <field name="name">Categories of Employee</field>
282             <field name="res_model">hr.employee.category</field>
283             <field name="view_type">form</field>
284             <field name="view_mode">tree,form</field>
285         </record>
286
287         <menuitem action="open_view_categ_form" id="menu_view_employee_category_form"
288             parent="menu_view_employee_category_configuration_form" sequence="1" groups="base.group_extended"/>
289
290         <record id="open_view_categ_tree" model="ir.actions.act_window">
291             <field name="name">Categories structure</field>
292             <field name="res_model">hr.employee.category</field>
293             <field name="view_type">tree</field>
294             <field name="view_id" ref="view_employee_category_tree"/>
295             <field name="domain">[('parent_id','=',False)]</field>
296         </record>
297
298         <record id="hr_employee_normal_action_tree" model="ir.actions.act_window">
299             <field name="name">Employees</field>
300             <field name="type">ir.actions.act_window</field>
301             <field name="res_model">hr.employee</field>
302             <field name="view_type">form</field>
303             <field name="view_mode">tree,form</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                     <field name="company_id" widget="selection" groups="base.group_multi_company"/>
327                     <field name="expected_employees"/>
328                     <field name="no_of_employee"/>
329                     </group>
330                     <newline/>
331                     <notebook colspan="4">
332                         <page string="Description">
333                             <separator colspan="4" string="Job Description"/>
334                             <field name="description" colspan="4" nolabel="1"/>
335                             <separator colspan="4" string="Requirements"/>
336                             <field name="requirements" colspan="4" nolabel="1"/>
337                         </page>
338                         <page string="Employee">
339                             <field name="employee_ids" colspan='4' nolabel="1"  mode="tree,form"/>
340                         </page>
341                     </notebook>
342                     <group col="6" colspan="4">
343                       <field name="state"/>
344                       <button name="job_recruitement" string="In Recruitement" states="open" type="object" icon="gtk-go-forward"/>
345                 <button name="job_open" string="Open" states="old,recruit" type="object" icon="terp-camera_test"/>
346                             <button name="job_old" string="Old" states="open,recruit" type="object" icon="gtk-cancel"/>
347                     </group>
348                 </form>
349             </field>
350         </record>
351
352         <record id="view_hr_job_tree" model="ir.ui.view">
353             <field name="name">hr.job.tree</field>
354             <field name="model">hr.job</field>
355             <field name="type">tree</field>
356             <field name="arch" type="xml">
357                 <tree string="Job">
358                     <field name="name" />
359                     <field name="department_id" />
360                     <field name="company_id" groups="base.group_multi_company"/>
361                     <field name="expected_employees"/>
362                     <field name="no_of_employee"/>
363                     <field name="state"/>
364                 </tree>
365             </field>
366         </record>
367
368         <record id="view_job_filter" model="ir.ui.view">
369             <field name="name">Job</field>
370             <field name="model">hr.job</field>
371             <field name="type">search</field>
372             <field name="arch" type="xml">
373                 <search string="Jobs">
374                     <filter icon="terp-check" domain="[('state','in',('open','recruit'))]" string="Current"
375                         name="Current" help="Open and in recruitment positions"/>
376                     <separator orientation="vertical"/>
377                     <filter icon="terp-personal+"  domain="[('state','=','recruit')]" string="In Recruitment"
378                         help="In Recruitment"/>
379                     <separator orientation="vertical"/>
380                     <field name="name"/>
381                     <field name="department_id" widget="selection">
382                       <filter icon="terp-personal+" domain="[('department_id', '=', context.get('department_id', False))]" help="My Departments Jobs"/>
383                     </field>
384                     <newline />
385                     <group expand="0" string="Group By...">
386                     <filter string="Department" icon="terp-personal+" domain="[]" context="{'group_by':'department_id'}"/>
387                     <filter string="Company" icon="terp-go-home" domain="[]" context="{'group_by':'company_id'}"  groups="base.group_multi_company"/>
388                     </group>
389                 </search>
390              </field>
391          </record>
392
393         <record model="ir.actions.act_window" id="action_hr_job">
394             <field name="name">Job Positions</field>
395             <field name="res_model">hr.job</field>
396             <field name="view_type">form</field>
397             <field name="view_mode">tree,form</field>
398             <field name="search_view_id" ref="view_job_filter"/>
399             <field name="context">{"search_default_Current":1,"search_default_department_id": department_id}</field>
400             <field name="help">Job Positions are used to define the jobs, the requirements. You can attach a survey to a job position. This survey will be used in the recruitement process to evaluate the applicants for this job position.</field>
401         </record>
402
403         <menuitem name="Recruitment" id="base.menu_crm_case_job_req_main" parent="menu_hr_root" groups="base.group_hr_manager,base.group_system"/>
404         <menuitem parent="base.menu_crm_case_job_req_main" id="menu_hr_job" action="action_hr_job" sequence="2"/>
405
406     </data>
407 </openerp>