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