9c035c7bcd09ce9fbd5b402497260d0a8d508e58
[odoo/odoo.git] / addons / hr_recruitment / hr_recruitment_view.xml
1 <?xml version="1.0"?>
2 <openerp>
3     <data>
4
5     <menuitem name="Recruitment"
6         id="menu_hr_recruitment_recruitment"
7         parent="hr.menu_hr_configuration"
8         groups="base.group_hr_manager"
9         sequence="2"/>
10
11     <act_window
12         id="act_hr_applicant_to_meeting"
13         name="Meetings"
14         res_model="calendar.event"
15         src_model="hr.applicant"
16         view_mode="calendar,tree,form,graph"
17         view_type="form"/>
18
19     <!-- Stage -->
20     <record id="hr_job_stage_act" model="ir.actions.act_window">
21         <field name="name">Recruitment / Applicants Stages</field>
22         <field name="res_model">hr.recruitment.stage</field>
23         <field name="view_type">form</field>
24         <field name="domain">[]</field>
25         <field name="context">{}</field>
26         <field name="help" type="html">
27           <p class="oe_view_nocontent_create">
28             Click to add a new stage in the recruitment process.
29           </p><p>
30             Define here your stages of the recruitment process, for example:
31             qualification call, first interview, second interview, refused,
32             hired.
33           </p>
34         </field>
35     </record>
36
37
38     <!-- Applicants -->
39     <record model="ir.ui.view" id="crm_case_tree_view_job">
40         <field name="name">Applicants</field>
41         <field name="model">hr.applicant</field>
42         <field name="arch" type="xml">
43             <tree string="Applicants" fonts="bold:message_unread==True">
44                 <field name="message_unread" invisible="1"/>
45                 <field name="last_stage_id" invisible="1"/>
46                 <field name="create_date"/>
47                 <field name="date_last_stage_update" invisible="1"/>
48                 <field name="name"/>
49                 <field name="partner_name"/>
50                 <field name="email_from"/>
51                 <field name="partner_phone"/>
52                 <field name="job_id"/>
53                 <field name="stage_id"/>
54                 <field name="title_action" invisible="context.get('invisible_next_action', True)"/>
55                 <field name="date_action" invisible="context.get('invisible_next_date', True)"/>
56                 <field name="source_id" invisible="1"/>
57                 <field name="survey" invisible="1"/>
58                 <field name="response_id" invisible="1"/>
59                 <field name="priority"/>
60                 <field name="type_id" invisible="1"/>
61                 <field name="availability" invisible="1"/>
62                 <field name="department_id" invisible="context.get('invisible_department', True)"/>
63                 <field name="user_id"/>
64             </tree>
65         </field>
66     </record>
67
68     <record model="ir.ui.view" id="crm_case_form_view_job">
69         <field name="name">Jobs - Recruitment Form</field>
70         <field name="model">hr.applicant</field>
71         <field name="arch" type="xml">
72           <form string="Jobs - Recruitment Form">
73             <header>
74                 <field name="stage_id" widget="statusbar" clickable="True"/>
75             </header>
76             <sheet>
77                 <div class="oe_right oe_button_box">
78                     <button name="action_makeMeeting" class="oe_stat_button" icon="fa-calendar" type="object"
79                          help="Schedule interview with this applicant">
80                          <div>Schedule<br/>Meeting</div>
81                     </button>
82                     <button name="action_start_survey" 
83                         class="oe_stat_button"
84                         icon="fa-user" 
85                         type="object"
86                         help="Answer related job question"
87                         context="{'survey_id': survey}"
88                         attrs="{'invisible':[('survey','=',False)]}">
89                         <div>Start<br/>Interview</div>
90                     </button>
91                     <button name="action_print_survey" 
92                         class="oe_stat_button"
93                         icon="fa-print"
94                         type="object"
95                         help="Print interview report"
96                         attrs="{'invisible':[('survey','=',False)]}">
97                         <div>Print<br/>Interview</div>
98                     </button>
99                     <button name="action_get_attachment_tree_view" 
100                         class="oe_stat_button"
101                         icon="fa-book"
102                         type="object">
103                         <field name="attachment_number" widget="statinfo" string="Documents"/>
104                     </button>
105                 </div>
106                 <div class="oe_title">
107                     <label for="name" class="oe_edit_only"/>
108                     <h1><field name="name"/></h1>
109                     <label for="partner_name" class="oe_edit_only"/>
110                     <h2 style="display: inline-block;">
111                         <field name="partner_name" class="oe_inline"/>
112                         <button string="Create Employee" name="create_employee_from_applicant" type="object"
113                                     class="oe_link oe_inline" style="margin-left: 8px;"
114                                     attrs="{'invisible': [('emp_id', '!=', False)]}"/>
115                     </h2>
116                 </div>
117                 <group>
118                     <group>
119                         <field name="partner_id"
120                                 on_change="onchange_partner_id(partner_id)"/>
121                         <field name="email_from" widget="email"/>
122                         <field name="partner_phone"/>
123                         <field name="partner_mobile"/>
124                         <field name="type_id" placeholder="Degree"/>
125                     </group>
126                     <group>
127                         <field name="user_id"
128                             context="{'default_groups_ref': ['base.group_user', 'base.group_partner_manager', 'base.group_hr_manager']}"/>
129                         <label for="title_action"/>
130                         <div>
131                             <field name="date_action"/>
132                             <field name="title_action" class="oe_inline" placeholder="e.g. Call for interview"/>
133                         </div>
134                         <field name="priority" widget="priority"/>
135                         <field name="source_id"/>
136                         <field name="reference"/>
137                     </group>
138                     <group string="Job">
139                         <field name="survey" invisible="1"/>
140                         <field name="response_id" invisible="1"/>
141                         <field name="job_id" on_change="onchange_job(job_id)"/>
142                         <field name="department_id" on_change="onchange_department_id(department_id, stage_id)"/>
143                         <field name="company_id" />
144                         <label for="availability"/>
145                         <div>
146                             <field name="availability" class="oe_inline"/> <label string="Day(s)" class="oe_inline"/>
147                         </div>
148                     </group>
149                     <group string="Contract">
150                         <label for="salary_expected"/>
151                         <div>
152                             <field name="salary_expected" class="oe_inline"/>
153                             <span class="oe_inline" attrs="{'invisible':[('salary_expected_extra','=',False)]}"> + </span>
154                             <field name="salary_expected_extra" class="oe_inline" placeholder="Extra advantages..."/>
155                         </div>
156                         <label for="salary_proposed"/>
157                         <div>
158                             <field name="salary_proposed" class="oe_inline"/>
159                             <span class="oe_inline" attrs="{'invisible':[('salary_proposed_extra','=',False)]}"> + </span>
160                             <field name="salary_proposed_extra" class="oe_inline" placeholder="Extra advantages..."/>
161                         </div>
162                         <field name="emp_id" readonly="1"/>
163                     </group>
164                 </group>
165                 <group>
166                     <field name="categ_ids" widget="many2many_tags"/>
167                 </group>
168                 <separator string="Application Summary"/>
169                 <field name="description" placeholder="Feedback of interviews..."/>
170             </sheet>
171             <div class="oe_chatter">
172                 <field name="message_follower_ids" widget="mail_followers"/>
173                 <field name="message_ids" widget="mail_thread"/>
174             </div>
175           </form>
176         </field>
177     </record>
178
179     <record model="ir.ui.view" id="crm_case_graph_view_job">
180         <field name="name">Jobs - Recruitment Graph</field>
181         <field name="model">hr.applicant</field>
182         <field name="arch" type="xml">
183               <graph string="Cases By Stage and Estimates" type="bar" orientation="vertical" stacked="True">
184                 <field name="job_id" type="row"/>
185                 <field name="stage_id" type="col"/>
186                 <field name="salary_expected" type="measure"/>
187             </graph>
188         </field>
189     </record>
190
191     <record id="view_crm_case_jobs_filter" model="ir.ui.view">
192         <field name="name">Jobs - Recruitment Search</field>
193         <field name="model">hr.applicant</field>
194         <field name="arch" type="xml">
195             <search string="Search Applicants">
196                 <field name="partner_name" filter_domain="['|','|',('name','ilike',self),('partner_name','ilike',self),('email_from','ilike',self)]" string="Subject / Applicant"/>
197                 <filter string="My" domain="[('user_id', '=', uid)]"/>
198                 <filter string="Unassigned" domain="[('user_id', '=', False)]"/>
199                 <separator/>
200                 <filter string="Next Actions" context="{'invisible_next_action':False, 'invisible_next_date':False}"
201                     domain="[('date_action','&lt;&gt;',False)]" help="Filter and view on next actions and date"/>
202                 <separator/>
203                 <filter string="New Mail" name="message_unread" domain="[('message_unread','=',True)]"/>
204                 <field name="job_id"/>
205                 <field name="department_id"/>
206                 <field name="user_id"/>
207                 <field name="stage_id" domain="[]"/>
208                 <separator/>
209                 <field name="categ_ids"/>
210                 <separator/>
211                 <group expand="0" string="Group By">
212                     <filter string="Responsible" domain="[]"  context="{'group_by':'user_id'}"/>
213                     <filter string="Job" domain="[]" context="{'group_by':'job_id'}"/>
214                     <filter string="Degree" domain="[]" context="{'group_by':'type_id'}"/>
215                     <filter string="Stage" domain="[]" context="{'group_by':'stage_id'}"/>
216                     <filter string="Creation Date" context="{'group_by':'create_date'}"/>
217                     <filter string="Last Stage Update" context="{'group_by':'date_last_stage_update'}"/>
218                 </group>
219            </search>
220         </field>
221     </record>
222
223     <!-- CRM Lead Calendar View -->
224     <record model="ir.ui.view" id="hr_applicant_calendar_view">
225         <field name="name">Hr Applicants Calendar</field>
226         <field name="model">hr.applicant</field>
227         <field name="priority" eval="2"/>
228         <field name="arch" type="xml">
229             <calendar string="Applicants"
230                 date_start="date_action" color="user_id">
231                 <field name="name"/>
232                 <field name="partner_name"/>
233                 <field name="title_action"/>
234             </calendar>
235         </field>
236     </record>
237
238     <!-- Hr Applicant Kanban View -->
239     <record model="ir.ui.view" id="hr_kanban_view_applicant">
240         <field name="name">Hr Applicants kanban</field>
241         <field name="model">hr.applicant</field>
242         <field name="arch" type="xml">
243             <kanban default_group_by="stage_id">
244                 <field name="stage_id" options='{"group_by_tooltip": {"description": "Description", "legend_priority": "Use of stars"}}'/>
245                 <field name="color"/>
246                 <field name="priority"/>
247                 <field name="survey"/>
248                 <field name="user_id"/>
249                 <field name="user_email"/>
250                 <field name="partner_name"/>
251                 <field name="type_id"/>
252                 <field name="job_id"/>
253                 <field name="title_action"/>
254                 <field name="department_id"/>
255                 <field name="categ_ids"/>
256                 <field name="message_summary"/>
257                 <field name="attachment_number"/>
258                 <templates>
259                     <t t-name="kanban-tooltip">
260                         <ul class="oe_kanban_tooltip">
261                             <li t-if="record.type_id.raw_value"><b>Degree:</b> <field name="type_id"/></li>
262                             <li t-if="record.partner_id.raw_value"><b>Contact:</b> <field name="partner_id"/></li>
263                             <li t-if="record.department_id.raw_value"><b>Departement:</b> <field name="department_id"/></li>
264                         </ul>
265                     </t>
266                     <t t-name="kanban-box">
267                         <div t-attf-class="oe_kanban_color_#{kanban_getcolor(record.color.raw_value)} oe_kanban_card oe_kanban_global_click oe_applicant_kanaban oe_semantic_html_override">
268                             <div class="oe_dropdown_toggle oe_dropdown_kanban">
269                                 <span class="oe_e">i</span>
270                                 <ul class="oe_dropdown_menu">
271                                     <t t-if="widget.view.is_action_enabled('delete')"><li><a type="delete">Delete</a></li></t>
272                                     <li><a name="action_makeMeeting" type="object">Schedule Interview</a></li>
273                                     <li><ul class="oe_kanban_colorpicker" data-field="color"/></li>
274                                 </ul>
275                             </div>
276                             <div class="oe_kanban_content" tooltip="kanban-tooltip">
277                                     <t t-if="record.partner_name.raw_value"><b><field name="partner_name"/></b><br/></t>
278                                     <i><field name="name"/></i><br/>
279                                     <field name="job_id"/><br/>
280                                     <t t-if="record.partner_mobile.raw_value">Mobile: <field name="partner_mobile"/><br/></t>
281                                     <t t-if="record.date_action.raw_value and record.date_action.raw_value lt (new Date())" t-set="red">oe_kanban_text_red</t>
282                                     <span t-attf-class="#{red || ''}"><field name="date_action"/></span>
283                                         <t t-if="record.date_action.raw_value"> : </t>
284                                         <field name="title_action"/>
285                                         <field name="categ_ids" class="oe_margin_top_4"/>
286                                 <div class="oe_kanban_bottom_right">
287                                     <img t-att-src="kanban_image('res.users', 'image_small', record.user_id.raw_value)" t-att-title="record.user_id.value" width="24" height="24" class="oe_kanban_avatar pull-right"/>
288                                     <div class="pull-left" groups="base.group_user">
289                                         <field name="priority" widget="priority"/>
290                                     </div>
291                                 </div>
292                                 <div class="oe_kanban_footer_left oe_margin_top_4">
293                                     <t t-raw="record.message_summary.raw_value"/>
294                                     <a t-if="record.attachment_number" name="action_get_attachment_tree_view" type="object"> <field name="attachment_number"/> Documents</a>
295                                 </div>
296                             </div>
297                             <div class="oe_clear"></div>
298                         </div>
299                     </t>
300                 </templates>
301             </kanban>
302         </field>
303     </record>
304
305     <record model="ir.actions.act_window" id="action_hr_job_applications">
306         <field name="name">Applications</field>
307         <field name="res_model">hr.applicant</field>
308         <field name="view_mode">kanban,tree,form,graph,calendar</field>
309         <field name="context">{'search_default_job_id': [active_id], 'default_job_id': active_id, 'empty_list_help_model': 'hr.job'}</field>
310         <field name="help" type="html">
311               <p>
312                 Odoo helps you track applicants in the recruitment
313                 process and follow up all operations: meetings, interviews, etc.
314               </p><p>
315                 Applicants and their attached CV are created automatically when an email is sent.
316                 If you install the document management modules, all resumes are indexed automatically,
317                 so that you can easily search through their content.
318               </p>
319          </field>
320     </record>
321
322     <!-- Jobs -->
323     <record id="view_job_filter_recruitment" model="ir.ui.view">
324         <field name="name">Job</field>
325         <field name="model">hr.job</field>
326         <field name="inherit_id" ref="hr.view_job_filter"/>
327         <field name="arch" type="xml">
328             <field name="department_id" positon="after">
329                 <separator/>
330                 <filter string="Unread Messages" name="message_unread" domain="[('message_unread','=',True)]"/>
331             </field>
332         </field>
333     </record>
334
335     <!-- Action for the stat button of the no_employee -->
336     <record model="ir.actions.act_window" id="action_hr_job_no_employee">
337         <field name="name">Employees</field>
338         <field name="res_model">hr.employee</field>
339         <field name="view_mode">kanban,tree,form</field>
340         <field name="context">{'search_default_job_id': active_id}</field>
341         <field name="help" type="html">
342               <p class="oe_view_nocontent_create">
343                 Click to add a new employee.
344               </p><p>
345                 With just a quick glance on the Odoo employee screen, you
346                 can easily find all the information you need for each person;
347                 contact data, job position, availability, etc.
348               </p>
349             </field>
350     </record>
351
352     <record id="hr_job_survey" model="ir.ui.view">
353         <field name="name">hr.job.form1</field>
354         <field name="model">hr.job</field>
355         <field name="inherit_id" ref="hr.view_hr_job_form"/>
356         <field name="arch" type="xml">
357             <group name="employee_data" position="inside">
358                 <label for="survey_id" groups="base.group_user"/>
359                 <div groups="base.group_user">
360                     <field name="survey_id" class="oe_inline" domain="[('res_model','=','hr_recruitment')]"/>
361                     <button string="Print Interview" name="action_print_survey" type="object" attrs="{'invisible':[('survey_id','=',False)]}" class="oe_inline oe_link"/>
362                 </div>
363                 <label for="address_id"/>
364                 <div>
365                     <field name="address_id" context="{'show_address': 1}"/>
366                     <span class="oe_grey">(empty = remote work)</span>
367                 </div>
368             </group>
369             <xpath expr="//field[@name='department_id']" position="after">
370                     <label for="alias_name" string="Specific Email Address" attrs="{'invisible': [('alias_domain', '=', False)]}" help ="Define a specific contact address for this job position. If you keep it empty, the default email address will be used which is in human resources settings"/>
371                     <div name="alias_def" attrs="{'invisible': [('alias_domain', '=', False)]}">
372                         <field name="alias_id" class="oe_read_only oe_inline"
373                                 string="Email Alias" required="0"/>
374                         <div class="oe_edit_only oe_inline" name="edit_alias" style="display: inline;" >
375                             <field name="alias_name" class="oe_inline"/>@<field name="alias_domain" class="oe_inline" readonly="1"/>
376                         </div>
377                     </div>
378             </xpath>
379             <xpath expr="//field[@name='department_id']" position="after">
380                 <field name="user_id" class="oe_inline"/>
381             </xpath>
382             <xpath expr="//div[@name='buttons']" position="inside">
383                 <div class="oe_button_box" >
384                     <button class="oe_stat_button" 
385                         icon="fa-file-o"
386                         name="%(action_hr_job_applications)d" 
387                         context="{'default_user_id': user_id}" 
388                         type="action">
389                         <field name="application_count" widget="statinfo" string="Applications"/>
390                     </button>
391                     <button class="oe_stat_button" 
392                         icon="fa-users"
393                         name="%(action_hr_job_no_employee)d"
394                         type="action">
395                         <field name="no_of_employee" widget="statinfo" string="Employees"/>
396                     </button>
397                     <button class="oe_stat_button"
398                         icon="fa-book"
399                         name="action_get_attachment_tree_view" 
400                         type="object">
401                         <field name="documents_count" widget="statinfo" string="Documents"/>
402                     </button>
403                 </div>
404             </xpath>
405         </field>
406     </record>
407
408      <record id="view_hr_job_kanban" model="ir.ui.view">
409             <field name="name">hr.job.kanban</field>
410             <field name="model">hr.job</field>
411             <field name="arch" type="xml">
412                 <kanban class="oe_background_grey">
413                     <field name="name"/>
414                     <field name="alias_name"/>
415                     <field name="alias_domain"/>
416                     <field name="department_id"/>
417                     <field name="no_of_recruitment"/>
418                     <field name="color"/>
419                     <field name="application_ids"/>
420                     <field name="document_ids"/>
421                     <field name="no_of_hired_employee"/>
422                     <field name="manager_id"/>
423                     <field name="survey_id"/>
424                     <field name="state"/>
425                     <field name="user_id"/>
426                     <templates>
427                         <t t-name="kanban-box">
428                             <div t-attf-class="oe_kanban_color_#{kanban_getcolor(record.color.raw_value)} oe_kanban_job oe_kanban_card oe_kanban_global_click">
429                                 <div class="oe_dropdown_toggle oe_dropdown_kanban oe_custom">
430                                     <span class="oe_e">í</span>
431                                     <ul class="oe_dropdown_menu">
432                                         <t t-if="widget.view.is_action_enabled('edit')">
433                                             <li><a type="edit">Edit...</a></li>
434                                         </t>
435                                         <t t-if="widget.view.is_action_enabled('delete')">
436                                             <li><a type="delete">Delete</a></li>
437                                         </t>
438                                         <li><ul class="oe_kanban_colorpicker" data-field="color"/></li>
439                                     </ul>
440                                 </div>
441                                 <div class="oe_kanban_content">
442                                     <t t-if="record.user_id.raw_value">
443                                         <img t-att-src="kanban_image('res.users', 'image_medium', record.user_id.raw_value[0])" t-att-title="record.user_id.value" class="oe_kanban_avatar oe_job_avatar pull-right"/>
444                                     </t>
445                                     <t t-if="record.user_id.raw_value === false">
446                                         <img t-att-src='_s + "/base/static/src/img/avatar.png"' class="oe_kanban_avatar oe_job_avatar pull-right"/>
447                                     </t>
448                                     <div class="oe_job_detail">
449                                         <div class="text-center oe_job_font oe_kanban_ellipsis">
450                                             <strong><field name="name"/></strong>
451                                         </div>
452                                         <div class="text-center oe_job_font oe_kanban_ellipsis">
453                                             <strong><field name="department_id"/>
454                                             <span t-if="record.manager_id.value" class="oe_manager_name">
455                                                 (<t t-esc="record.manager_id.value"/>)
456                                             </span></strong>
457                                         </div>
458                                         <div class="text-center oe_job_alias oe_kanban_ellipsis" t-if="record.alias_name.value and record.alias_domain.value and record.state.raw_value == 'recruit'">
459                                             <small><i class="fa fa-envelope-o"></i> <field name="alias_id"/></small>
460                                         </div>
461
462                                     </div>
463                                     <t t-if="record.state.raw_value == 'recruit'">
464                                         <div class="col-md-6 oe_applications">
465                                             <div class="oe_applications oe_job_font">
466                                                 <a name="%(action_hr_job_applications)d" type="action">
467                                                     <span><t t-esc="record.application_ids.raw_value.length"/> Applications</span>
468                                                 </a>
469                                                 <br/>
470                                                 <a t-if="record.document_ids.raw_value.length gt 0" name="action_get_attachment_tree_view" type="object">
471                                                     <span t-if="record.document_ids.raw_value.length gt 1"><t t-esc="record.document_ids.raw_value.length"/> Documents</span>
472                                                     <span t-if="record.document_ids.raw_value.length lt 2"><t t-esc="record.document_ids.raw_value.length"/> Document</span>
473                                                 </a>
474                                             </div>
475                                         </div>
476                                         <div class="col-md-5">
477                                             <div class="oe_job_justgage">
478                                                 <field state="recruit" name="no_of_hired_employee" widget="gauge"
479                                                     style="margin-top:7px; width:160px; height: 120px;"
480                                                     options="{
481                                                         'max_field': 'no_of_recruitment',
482                                                         'label': 'Hired Employees',
483                                                         'on_change': 'action_set_no_of_recruitment',
484                                                         'on_click_label': 'employee(s) to recruit',
485                                                         'force_set': False,
486                                                         'gauge_value_field': 'no_of_recruitment',
487                                                     }">
488                                                     Hired Employees
489                                                 </field>
490                                             </div>
491                                         </div>
492                                     </t>
493                                     <t t-if="record.state.raw_value == 'open'">
494                                         <div class="oe_start_recruitment">
495                                             <p><b>click here</b>, To start the recruitment</p>
496                                             <img src="/hr_recruitment/static/src/img/down1.png"/>
497                                         </div>
498                                     </t>
499                                     <div class="oe_launch_recruitment">
500                                         <a t-if="record.state.raw_value == 'open'" data-name="job_recruitment" data-type="object" class="oe_kanban_action">Launch Recruitment</a>
501                                         <a t-if="record.state.raw_value == 'recruit'" data-name="job_open" data-type="object" class="oe_kanban_action">Recruitment Done</a>
502                                         <a t-if="record.survey_id.raw_value"> | </a>
503                                         <a t-if="record.survey_id.raw_value" data-name="action_print_survey" data-type="object" class="oe_kanban_action">Print Interview</a>
504                                     </div>
505                                 </div>
506                             </div>
507                         </t>
508                     </templates>
509                 </kanban>
510             </field>
511     </record>
512
513         <!-- hr related job position menu action -->
514          <record model="ir.actions.act_window" id="action_hr_job">
515             <field name="name">Job Positions</field>
516             <field name="res_model">hr.job</field>
517             <field name="view_type">form</field>
518             <field name="view_mode">kanban,tree,form</field>
519             <field name="context">{'search_default_in_recruitment': 1}</field>
520             <field name="help" type="html">
521               <p class="oe_view_nocontent_create">
522                  Click here to create a new job. You can remove the "In Recruitment" filter to display all the job positions.
523               </p>
524               <p>
525                 Define job position profile and manage recruitment in a context of a particular job: print interview survey, define number of expected new employees, and manage its recruitment pipe
526               </p>
527             </field>
528         </record>
529
530     <!-- Stage Tree View -->
531     <record model="ir.ui.view" id="hr_recruitment_stage_tree">
532         <field name="name">hr.recruitment.stage.tree</field>
533         <field name="model">hr.recruitment.stage</field>
534         <field name="arch" type="xml">
535             <tree string="Stages">
536                 <field name="sequence" invisible="1"/>
537                 <field name="name"/>
538                 <field name="department_id"/>
539                 <field name="fold"/>
540             </tree>
541         </field>
542     </record>
543
544     <!-- Stage Form View -->
545     <record model="ir.ui.view" id="hr_recruitment_stage_form">
546         <field name="name">hr.recruitment.stage.form</field>
547         <field name="model">hr.recruitment.stage</field>
548         <field name="arch" type="xml">
549             <form string="Stage">
550                 <group string="Stage Definition">
551                     <group>
552                         <field name="name"/>
553                         <field name="department_id"/>
554                         <field name="sequence"/>
555                         <field name="template_id" domain= "[('model_id.model', '=', 'hr.applicant')]"/>
556                     </group>
557                     <group>
558                         <field name="fold"/>
559                         <field name="legend_priority"/>
560                     </group>
561                 </group>
562                 <separator string="Requirements"/>
563                 <field name="requirements"/>
564             </form>
565         </field>
566     </record>
567
568     <!-- Stage Action -->
569     <record id="hr_recruitment_stage_act" model="ir.actions.act_window">
570         <field name="name">Stages</field>
571         <field name="res_model">hr.recruitment.stage</field>
572         <field name="view_type">form</field>
573         <field name="view_id" ref="hr_recruitment_stage_tree"/>
574         <field name="help" type="html">
575           <p class="oe_view_nocontent_create">
576             Click to add a new stage in the recruitment process.
577           </p><p>
578             Don't forget to specify the department if your recruitment process
579             is different according to the job position.
580           </p>
581         </field>
582     </record>
583
584     <menuitem
585         id="menu_hr_recruitment_stage"
586         name="Stages"
587         parent="menu_hr_recruitment_recruitment"
588         action="hr_recruitment_stage_act"
589         sequence="1" groups="base.group_no_one"/>
590
591     <!-- Degree Tree View -->
592     <record model="ir.ui.view" id="hr_recruitment_degree_tree">
593         <field name="name">hr.recruitment.degree.tree</field>
594         <field name="model">hr.recruitment.degree</field>
595         <field name="arch" type="xml">
596             <tree string="Degree">
597                 <field name="sequence" invisible="1"/>
598                 <field name="name"/>
599             </tree>
600         </field>
601     </record>
602
603     <!-- Degree Form View -->
604     <record model="ir.ui.view" id="hr_recruitment_degree_form">
605         <field name="name">hr.recruitment.degree.form</field>
606         <field name="model">hr.recruitment.degree</field>
607         <field name="arch" type="xml">
608             <form string="Degree">
609                 <group>
610                     <field name="name"/>
611                     <field name="sequence" groups="base.group_no_one"/>
612                 </group>
613             </form>
614         </field>
615     </record>
616
617     <!-- Degree Action -->
618     <record id="hr_recruitment_degree_action" model="ir.actions.act_window">
619         <field name="name">Degree</field>
620         <field name="res_model">hr.recruitment.degree</field>
621         <field name="view_type">form</field>
622         <field name="view_id" ref="hr_recruitment_degree_tree"/>
623     </record>
624
625      <menuitem
626             id="menu_hr_recruitment_degree"
627             name="Degrees"
628             parent="menu_hr_recruitment_recruitment"
629             action="hr_recruitment_degree_action"
630             sequence="5" groups="base.group_no_one"/>
631
632     <!-- Source Tree View -->
633     <record model="ir.ui.view" id="hr_recruitment_source_tree">
634         <field name="name">hr.recruitment.source.tree</field>
635         <field name="model">hr.recruitment.source</field>
636         <field name="arch" type="xml">
637             <tree string="Sources of Applicants">
638                 <field name="name"/>
639             </tree>
640         </field>
641     </record>
642     <record model="ir.ui.view" id="hr_recruitment_source_form">
643         <field name="name">hr.recruitment.source.form</field>
644         <field name="model">hr.recruitment.source</field>
645         <field name="arch" type="xml">
646             <form string="Sources of Applicants">
647                 <group>
648                     <field name="name"/>
649                 </group>
650             </form>
651         </field>
652     </record>
653     <record id="hr_recruitment_source_action" model="ir.actions.act_window">
654         <field name="name">Sources of Applicants</field>
655         <field name="res_model">hr.recruitment.source</field>
656         <field name="view_type">form</field>
657     </record>
658
659     <menuitem
660         id="menu_hr_recruitment_source"
661         parent="menu_hr_recruitment_recruitment"
662         action="hr_recruitment_source_action"
663         groups="base.group_no_one"
664         sequence="10"/>
665
666     </data>
667 </openerp>