[IMP] hr_recruitment: Improve applicant form view, correct stages for applicant
[odoo/odoo.git] / addons / hr_recruitment / hr_recruitment_view.xml
1 <?xml version="1.0"?>
2 <openerp>
3     <data>
4
5        <menuitem
6         id="menu_hr_config_applicant"
7         name="Applicant"
8         parent="hr.menu_hr_configuration"
9         />
10
11     # ------------------------------------------------------
12     # Job Categories
13     # ------------------------------------------------------
14
15     <record id="hr_job_categ_action" model="ir.actions.act_window">
16                 <field name="name">Applicant Categories</field>
17                 <field name="res_model">crm.case.categ</field>
18                 <field name="view_type">form</field>
19                 <field name="view_id" ref="crm.crm_case_categ_tree-view"/>
20                 <field name="domain">[('object_id.model', '=', 'hr.applicant')]</field>
21                 <field name="context">{'object_id':'hr.applicant'}</field>
22     </record>
23     # ------------------------------------------------------
24     # Stage
25     # ------------------------------------------------------
26     <record id="hr_job_stage_act" model="ir.actions.act_window">
27         <field name="name">Applicant Stages</field>
28         <field name="res_model">crm.case.stage</field>
29         <field name="view_type">form</field>
30         <field name="view_id"  ref="crm.crm_case_stage_tree"/>
31         <field name="domain">[('object_id.model', '=', 'hr.applicant')]</field>
32         <field name="context">{'object_id':'hr.applicant'}</field>
33     </record>
34
35     <menuitem action="hr_job_stage_act" id="menu_hr_job_stage_act" name="Stages" parent="menu_hr_config_applicant"/>
36
37     # ------------------------------------------------------
38     # Jobs
39     # ------------------------------------------------------
40
41     <record model="ir.ui.view" id="crm_case_tree_view_job">
42         <field name="name">Applicants</field>
43         <field name="model">hr.applicant</field>
44         <field name="type">tree</field>
45         <field name="arch" type="xml">
46             <tree string="Applicants" colors="grey:state in ('cancel','done');blue:state=='pending'">
47                 <field name="create_date"/>
48                 <field name="partner_name"/>
49                 <field name="email_from"/>
50                 <field name="partner_phone"/>
51                 <field name="job_id"/>
52                 <field name="stage_id"/>
53                 <button name="stage_previous" string="Previous" states="open,pending" type="object" icon="gtk-go-back"/>
54                 <button name="stage_next" string="Next" states="open,pending" type="object" icon="gtk-go-forward"/>
55                 <field name="survey" invisible="1"/>
56                 <field name="response" invisible="1"/>
57                 <field name="priority"/>
58                 <field name="type_id" invisible="1"/>
59                 <field name="availability" invisible="1"/>
60                 <field name="department_id" invisible="context.get('invisible_department', True)"/>
61                 <field name="user_id"/>
62                 <field name="state"/>
63                 <button name="case_open" string="In Progress" states="draft,pending" type="object" icon="gtk-go-forward"/>
64                 <button name="case_pending" string="Pending" states="draft,open" type="object" icon="gtk-media-pause"/>
65                 <button name="case_close" string="Hired" states="open,draft,pending" type="object" icon="terp-partner"/>
66                 <button name="case_cancel" string="Refused" states="draft,open,pending" type="object" icon="gtk-cancel"/>
67
68             </tree>
69         </field>
70     </record>
71
72     <record model="ir.ui.view" id="crm_case_form_view_job">
73         <field name="name">Jobs - Recruitment Form</field>
74         <field name="model">hr.applicant</field>
75         <field name="type">form</field>
76         <field name="arch" type="xml">
77             <form string="Jobs - Recruitment Form">
78                 <group colspan="4" col="8">
79                         <field name="name" string="Subject"/>
80                         <field name="partner_name"/>
81                         <field name="job_id" on_change="onchange_job(job_id)"/>
82                         <button string="Schedule a Phone Call" name="%(action_hr_recruitment_phonecall)d" icon="gtk-redo" type="action"/>
83                         <button name="action_makeMeeting" type="object" string="Schedule Meeting" icon="terp-hr"/>
84                     <newline/>
85                     <group colspan="2" col="4">
86                         <field name="stage_id"/>
87                         <button name="stage_previous" string="" type="object" icon="gtk-go-back"/>
88                         <button icon="gtk-go-forward" string="" name="stage_next" type="object"/>
89                     </group>
90                         <field name="user_id"/>
91                         <field name="department_id" widget="selection"/>
92                         <button name="action_print_survey" string="Print Interview" type="object" icon="gtk-print" attrs="{'readonly':[('survey','=',False)]}"/>
93                         <button name="%(survey.action_view_survey_question_message)d" string="Interview Question" type="action" icon="gtk-execute" context="{'survey_id': survey, 'response_id': [response], 'response_no':0 ,'active' : response, 'object' : 'hr.applicant', 'cur_id' :active_id}" attrs="{'readonly':[('survey','=',False)]}" groups="base.group_extended"/>
94                 </group>
95                 <notebook colspan="4">
96                     <page string="Job Info">
97                         <group col="2" colspan="2">
98                             <separator colspan="2" string="Contact"/>
99                             <field name="partner_id" on_change="onchange_partner_id(partner_id, email_from)" />
100                             <field name="partner_address_id" on_change="onchange_partner_address_id(partner_address_id, email_from)"/>
101                             <field name="email_from"/>
102                             <field name="partner_phone"/>
103                             <field name="partner_mobile"/>
104                         </group>
105                         <group col="2" colspan="2">
106                             <separator colspan="2" string="Contract Data"/>
107                             <field name="availability"/>
108                             <field name="salary_expected"/>
109                             <field name="salary_proposed"/>
110                         </group>
111                         <group col="2" colspan="2">
112                             <separator colspan="2" string="Qualification"/>
113                             <field name="type_id" domain="[('object_id.model', '=', 'hr.applicant')]"/>
114                             <field name="priority" string="Appreciation"/>
115                         </group>
116                         <group col="2" colspan="2">
117                            <separator colspan="2" string="Dates"/>
118                            <field name="create_date"/>
119                            <field name="write_date"/>
120                            <field name="date_closed"/>
121                         </group>
122                         <separator colspan="4" string="Status"/>
123                         <group col="8" colspan="4">
124                             <field name="state"/>
125                             <button name="case_open" string="In Progress" states="draft,pending" type="object" icon="gtk-go-forward"/>
126                             <button name="case_pending" string="Pending" states="draft,open" type="object" icon="gtk-media-pause"/>
127                             <button name="case_close" string="Hired" states="open,draft,pending" type="object" icon="terp-partner"/>
128                             <button name="case_cancel" string="Refused" states="draft,open,pending" type="object" icon="gtk-cancel"/>
129                             <button name="case_reset" string="Reset to New" states="done,cancel" type="object" icon="gtk-convert"/>
130                         </group>
131                    </page>
132                    <page string="Internal Notes">
133                        <field name="description" nolabel="1" colspan="4"/>
134                    </page>
135                    <page string="History" groups="base.group_extended">
136                        <field name="id"/>
137                        <field name="active"/>
138                        <field name="log_ids" nolabel="1" colspan="4">
139                         <tree string="Logs">
140                             <field name="name" colspan="4"/>
141                             <field name="date"/>
142                             <field name="user_id"/>
143                         </tree>
144                         <form string="Logs">
145                             <separator string="Action Information" colspan="4"/>
146                             <field name="name" colspan="4"/>
147                             <field name="date"/>
148                             <field name="user_id"/>
149                         </form>
150                     </field>
151                     </page>
152                    <page string="Emails" groups="base.group_extended">
153                        <group colspan="4">
154                            <field colspan="4" name="email_cc" string="CC"/>
155                        </group>
156                        <field name="message_ids" colspan="4" nolabel="1" mode="form,tree">
157                            <form string="Communication history">
158                                     <group col="6" colspan="4">
159                                         <field name="date"/>
160                                         <field name="email_to"/>
161                                         <field name="email_from"/>
162                                     </group>
163                                     <notebook colspan="4">
164                                         <page string="Details">
165                                             <field name="description" colspan="4" nolabel="1"/>
166                                         </page>
167                                         <page string="Attachments">
168                                             <field name="attachment_ids" colspan="4" readonly="1" nolabel="1"/>
169                                         </page>
170                                     </notebook>
171                                     <button colspan="4"
172                                     string="Reply to Last Email"
173                                     name="%(crm.action_crm_send_mail)d"
174                                     context="{'mail':'reply', 'model': 'hr.applicant'}"
175                                     icon="gtk-undo" type="action" />
176                                 </form>
177                                 <tree string="Communication history">
178                                     <field name="date"/>
179                                     <field name="email_from" />
180                                     <field name="email_to"/>
181                                     <field name="description"/>
182                                 </tree>
183                             </field>
184                            <button colspan="4" string="Send New Email"
185                                 name="%(crm.action_crm_send_mail)d"
186                                 context="{'mail':'new', 'model': 'hr.applicant'}"
187                                 icon="gtk-go-forward" type="action" />
188                  </page>
189                 </notebook>
190             </form>
191         </field>
192     </record>
193
194
195     <record model="ir.ui.view" id="crm_case_graph_view_job">
196         <field name="name">Jobs - Recruitment Graph</field>
197         <field name="model">hr.applicant</field>
198         <field name="type">graph</field>
199         <field name="arch" type="xml">
200               <graph string="Cases By Stage and Estimates" type="bar" orientation="vertical">
201                 <field name="job_id"/>
202                 <field name="salary_expected" operator="+"/>
203                 <field name="state" group="True"/>
204             </graph>
205         </field>
206     </record>
207
208     <record id="view_crm_case_jobs_filter" model="ir.ui.view">
209         <field name="name">Jobs - Recruitment Search</field>
210         <field name="model">hr.applicant</field>
211         <field name="type">search</field>
212         <field name="arch" type="xml">
213             <search string="Search Jobs">
214                <filter icon="terp-check" string="Current"
215                    domain="[('state','in',('draft','open'))]"
216                    help="All new and in progress jobs"
217                    default="1"
218                />
219                <filter icon="terp-document-new" string="New"
220                    domain="[('state','=','draft')]"
221                    help="All Initial Jobs"
222                />
223                <filter icon="terp-camera_test" string="In Progress"
224                    domain="[('state','=','open')]"
225                    help="Open Jobs"
226                />
227                <filter icon="terp-gtk-media-pause" string="Pending"
228                    domain="[('state','=','pending')]"
229                    help="Pending Jobs"
230                />
231                <separator orientation="vertical"/>
232                <field name="partner_name"/>
233                <field name="email_from"/>
234                <field name="job_id" widget="selection"/>
235                <field name="user_id" widget="selection">
236                     <filter domain="[('user_id','=',False)]" help="Unassigned Recruitements" icon="terp-personal-" separator="1"/>
237                </field>
238                <field name="department_id" widget="selection" string="Department" context="{'invisible_department': False}">
239                    <filter icon="terp-personal+" context="{'invisible_department': False}"
240                        domain="[('department_id','=',context.get('department_id',False))]"
241                        help="My Department"/>
242                </field>
243                <newline/>
244                 <group expand="0" string="Group By..." colspan="11" col="20">
245                     <filter string="Department" icon="terp-personal+" domain="[]" context="{'group_by':'department_id'}"/>
246                     <filter string="Responsible" icon="terp-personal" domain="[]"  context="{'group_by':'user_id'}"/>
247                     <separator orientation="vertical"/>
248                     <filter string="Job" icon="terp-gtk-select-all" domain="[]" context="{'group_by':'job_id'}"/>
249                     <filter string="Stage" icon="terp-stage" domain="[]" context="{'group_by':'stage_id'}"/>
250                     <filter string="Degree" icon="terp-gtk-select-all" domain="[]" context="{'group_by':'type_id'}"/>
251                     <filter string="Availability" icon="terp-camera_test" domain="[]" context="{'group_by':'availability'}"/>
252                     <filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
253                     <separator orientation="vertical"/>
254                     <filter string="Appreciation" icon="terp-face-plain" domain="[]" context="{'group_by':'priority'}"/>
255                     <separator orientation="vertical"/>
256                     <filter string="Date" icon="terp-go-month" domain="[]" context="{'group_by':'create_date'}"/>
257                 </group>
258            </search>
259         </field>
260     </record>
261
262     # ------------------------------------------------------
263     # HR Job
264     # ------------------------------------------------------
265
266     <record id="hr_job_survey" model="ir.ui.view">
267         <field name="name">hr.job.form1</field>
268         <field name="model">hr.job</field>
269         <field name="type">form</field>
270         <field name="inherit_id" ref="hr.view_hr_job_form"/>
271         <field name="arch" type="xml">
272             <field name="no_of_employee" position="after">
273                 <field name="survey_id"/>
274             </field>
275         </field>
276     </record>
277
278 <!-- Stage Tree View -->
279
280         <record model="ir.ui.view" id="hr_recruitment_stage_tree">
281             <field name="name">hr.recruitment.stage.tree</field>
282             <field name="model">hr.recruitment.stage</field>
283             <field name="type">tree</field>
284             <field name="arch" type="xml">
285                 <tree string="Stages">
286                     <field name="sequence"/>
287                     <field name="name"/>
288                 </tree>
289             </field>
290         </record>
291
292 <!-- Stage Form View -->
293
294         <record model="ir.ui.view" id="hr_recruitment_stage_form">
295             <field name="name">hr.recruitment.stage.form</field>
296             <field name="model">hr.recruitment.stage</field>
297             <field name="type">form</field>
298             <field name="arch" type="xml">
299                 <form string="Stage">
300                     <separator string="Stage Definition" colspan="4"/>
301                     <field name="name" select="1"/>
302                     <field name="sequence"/>
303                     <separator string="Requirements" colspan="4"/>
304                     <field name="requirements" nolabel="1" colspan="4"/>
305                 </form>
306             </field>
307         </record>
308
309 <!-- Stage Action -->
310
311         <record id="hr_recruitment_stage_act" model="ir.actions.act_window">
312             <field name="name">Stages</field>
313             <field name="res_model">hr.recruitment.stage</field>
314             <field name="view_type">form</field>
315             <field name="view_id" ref="hr_recruitment_stage_tree"/>
316         </record>
317
318         <menuitem
319             id="menu_hr_recruitment_recruitment"
320             name="Recruitment"
321             parent="hr.menu_hr_configuration"
322             />
323
324         <menuitem
325                 id="menu_hr_recruitment_stage"
326                 name="Stages"
327                 parent="menu_hr_recruitment_recruitment"
328                 action="hr_recruitment_stage_act"
329                 sequence="1"/>
330
331     </data>
332 </openerp>