[IMP] account, hr: Added group on menuitem
[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" groups="base.group_hr_manager,base.group_hr_user"/>
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="view_id" ref="view_employee_tree"/>
149             <field name="search_view_id" ref="view_employee_filter"/>
150             <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>
151         </record>
152
153         <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"/>
154
155         <!--
156         =======================
157         Employee marital status
158         =======================
159         -->
160
161     <record id="hr_hr_employee_marital_status_tree" model="ir.ui.view">
162             <field name="name">hr.hr.employee.marital.status.tree</field>
163             <field name="model">hr.employee.marital.status</field>
164             <field name="type">tree</field>
165             <field name="arch" type="xml">
166                 <tree string="Marital Status">
167                     <field name="name" />
168                 </tree>
169             </field>
170         </record>
171
172         <record id="hr_hr_employee_marital_status_form" model="ir.ui.view">
173             <field name="name">hr.hr.employee.marital.status</field>
174             <field name="model">hr.employee.marital.status</field>
175             <field name="type">form</field>
176             <field name="arch" type="xml">
177                 <form string="Marital Status">
178                     <field name="name"/>
179                     <separator colspan="4" string="Description"/>
180                     <field colspan="4" name="description" nolabel="1"/>
181                 </form>
182             </field>
183         </record>
184
185         <record id="action_hr_marital_status" model="ir.actions.act_window">
186             <field name="name">Marital Status</field>
187             <field name="res_model">hr.employee.marital.status</field>
188             <field name="view_type">form</field>
189             <field name="view_mode">tree,form</field>
190             <field name="view_id" ref="hr_hr_employee_marital_status_tree"/>
191         </record>
192
193         <menuitem action="action_hr_marital_status" id="hr_menu_marital_status"
194             parent="hr.menu_view_employee_category_configuration_form" sequence="3" groups="base.group_extended"/>
195
196         <!--
197         =======================
198         Employee architecture
199         =======================
200         -->
201
202         <record id="view_partner_tree2" model="ir.ui.view">
203             <field name="name">hr.employee.tree</field>
204             <field name="model">hr.employee</field>
205             <field name="type">tree</field>
206             <field name="field_parent">child_ids</field>
207             <field name="arch" type="xml">
208                 <tree string="Employees">
209                     <field name="name"/>
210                     <field name="ssnid"/>
211                     <field name="user_id"/>
212                     <field name="address_id"/>
213                 </tree>
214             </field>
215         </record>
216
217         <record id="action2" model="ir.actions.act_window">
218             <field name="name">Employee Hierarchy</field>
219             <field name="type">ir.actions.act_window</field>
220             <field name="res_model">hr.employee</field>
221             <field name="domain">[('id','in',active_ids)]</field>
222             <field name="view_type">tree</field>
223             <field name="view_id" ref="view_partner_tree2"/>
224         </record>
225
226         <ir_set>
227             <field eval="'action'" name="key"/>
228             <field eval="'client_action_multi'" name="key2"/>
229             <field eval="['hr.employee']" name="models"/>
230             <field name="name">Employees Hierarchy</field>
231             <field eval="'ir.actions.act_window,'+str(action2)" name="value"/>
232             <field eval="True" name="isobject"/>
233             <field eval="True" name="replace"/>
234         </ir_set>
235
236         <!--
237         ============
238         Employee Category
239         ============
240         -->
241
242        <record id="view_employee_category_form" model="ir.ui.view">
243             <field name="name">hr.employee.category.form</field>
244             <field name="model">hr.employee.category</field>
245             <field name="type">form</field>
246             <field name="arch" type="xml">
247                 <form string="Employee Category">
248                     <field name="name" />
249                     <field name="parent_id" />
250                 </form>
251             </field>
252         </record>
253
254         <record id="view_employee_category_list" model="ir.ui.view">
255             <field name="name">hr.employee.category.list</field>
256             <field name="model">hr.employee.category</field>
257             <field name="type">tree</field>
258             <field eval="8" name="priority"/>
259             <field name="arch" type="xml">
260                 <tree string="Employees Categories">
261                     <field name="name"/>
262                     <field name="parent_id"/>
263                 </tree>
264             </field>
265         </record>
266
267         <record id="view_employee_category_tree" model="ir.ui.view">
268             <field name="name">hr.employee.category.tree</field>
269             <field name="model">hr.employee.category</field>
270             <field name="type">tree</field>
271             <field name="field_parent">child_ids</field>
272             <field name="arch" type="xml">
273                 <tree string="Employees Categories">
274                     <field name="name"/>
275                 </tree>
276             </field>
277         </record>
278
279         <record id="open_view_categ_form" model="ir.actions.act_window">
280             <field name="name">Categories of Employee</field>
281             <field name="res_model">hr.employee.category</field>
282             <field name="view_type">form</field>
283             <field name="view_mode">tree,form</field>
284         </record>
285
286         <menuitem action="open_view_categ_form" id="menu_view_employee_category_form"
287             parent="menu_view_employee_category_configuration_form" sequence="1" groups="base.group_extended"/>
288
289         <record id="open_view_categ_tree" model="ir.actions.act_window">
290             <field name="name">Categories structure</field>
291             <field name="res_model">hr.employee.category</field>
292             <field name="view_type">tree</field>
293             <field name="view_id" ref="view_employee_category_tree"/>
294             <field name="domain">[('parent_id','=',False)]</field>
295         </record>
296
297         <record id="hr_employee_normal_action_tree" model="ir.actions.act_window">
298             <field name="name">Employees</field>
299             <field name="type">ir.actions.act_window</field>
300             <field name="res_model">hr.employee</field>
301             <field name="view_type">form</field>
302             <field name="view_mode">tree,form</field>
303         </record>
304
305         <record id="hr_employee_category_open" model="ir.values">
306             <field eval="'tree_but_open'" name="key2"/>
307             <field eval="'hr.employee.category'" name="model"/>
308             <field name="name">Employees by Categories</field>
309             <field eval="'ir.actions.act_window,%d'%hr_employee_normal_action_tree" name="value"/>
310             <field eval="True" name="object"/>
311         </record>
312
313         <menuitem action="open_view_categ_tree" groups="base.group_extended"
314             id="menu_view_employee_category_tree" parent="hr.menu_view_employee_category_form"/>
315
316         <record id="view_hr_job_form" model="ir.ui.view">
317             <field name="name">hr.job.form</field>
318             <field name="model">hr.job</field>
319             <field name="type">form</field>
320             <field name="arch" type="xml">
321                 <form string="Job">
322                     <group col="6" colspan="4">
323                     <field name="name" />
324                     <field name="department_id" />
325                     <field name="company_id" widget="selection" groups="base.group_multi_company"/>
326                     <field name="expected_employees"/>
327                     <field name="no_of_employee"/>
328                     </group>
329                     <newline/>
330                     <notebook colspan="4">
331                         <page string="Description">
332                             <separator colspan="4" string="Job Description"/>
333                             <field name="description" colspan="4" nolabel="1"/>
334                             <separator colspan="4" string="Requirements"/>
335                             <field name="requirements" colspan="4" nolabel="1"/>
336                         </page>
337                         <page string="Employee">
338                             <field name="employee_ids" colspan='4' nolabel="1"  mode="tree,form"/>
339                         </page>
340                     </notebook>
341                     <group col="6" colspan="4">
342                       <field name="state"/>
343                       <button name="job_recruitement" string="In Recruitement" states="open" type="object" icon="gtk-go-forward"/>
344                 <button name="job_open" string="Open" states="old,recruit" type="object" icon="terp-camera_test"/>
345                             <button name="job_old" string="Old" states="open,recruit" type="object" icon="gtk-cancel"/>
346                     </group>
347                 </form>
348             </field>
349         </record>
350
351         <record id="view_hr_job_tree" model="ir.ui.view">
352             <field name="name">hr.job.tree</field>
353             <field name="model">hr.job</field>
354             <field name="type">tree</field>
355             <field name="arch" type="xml">
356                 <tree string="Job">
357                     <field name="name" />
358                     <field name="department_id" />
359                     <field name="company_id" groups="base.group_multi_company"/>
360                     <field name="expected_employees"/>
361                     <field name="no_of_employee"/>
362                     <field name="state"/>
363                 </tree>
364             </field>
365         </record>
366
367         <record id="view_job_filter" model="ir.ui.view">
368             <field name="name">Job</field>
369             <field name="model">hr.job</field>
370             <field name="type">search</field>
371             <field name="arch" type="xml">
372                 <search string="Jobs">
373                     <filter icon="terp-check" domain="[('state','in',('open','recruit'))]" string="Current"
374                         name="Current" help="Open and in recruitment positions"/>
375                     <separator orientation="vertical"/>
376                     <filter icon="terp-personal+"  domain="[('state','=','recruit')]" string="In Recruitment"
377                         help="In Recruitment"/>
378                     <separator orientation="vertical"/>
379                     <field name="name"/>
380                     <field name="department_id" widget="selection">
381                       <filter icon="terp-personal+" domain="[('department_id', '=', context.get('department_id', False))]" help="My Departments Jobs"/>
382                     </field>
383                     <newline />
384                     <group expand="0" string="Group By...">
385                     <filter string="Department" icon="terp-personal+" domain="[]" context="{'group_by':'department_id'}"/>
386                     <filter string="Company" icon="terp-go-home" domain="[]" context="{'group_by':'company_id'}"  groups="base.group_multi_company"/>
387                     </group>
388                 </search>
389              </field>
390          </record>
391
392         <record model="ir.actions.act_window" id="action_hr_job">
393             <field name="name">Job Positions</field>
394             <field name="res_model">hr.job</field>
395             <field name="view_type">form</field>
396             <field name="view_mode">tree,form</field>
397             <field name="search_view_id" ref="view_job_filter"/>
398             <field name="context">{'search_default_Current':1}</field>
399             <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>
400         </record>
401
402         <menuitem name="Recruitment" id="base.menu_crm_case_job_req_main" parent="menu_hr_root" groups="base.group_hr_manager,base.group_system"/>
403         <menuitem parent="base.menu_crm_case_job_req_main" id="menu_hr_job" action="action_hr_job" sequence="2"/>
404
405     </data>
406 </openerp>