re
[odoo/odoo.git] / addons / hr_evaluation / hr_evaluation_view.xml
1 <?xml version="1.0" ?>
2 <openerp>
3     <data>
4
5       <record id="view_hr_evaluation_plan_search" model="ir.ui.view">
6             <field name="name">hr_evaluation.plan.search</field>
7             <field name="model">hr_evaluation.plan</field>
8             <field name="type">search</field>
9             <field name="arch" type="xml">
10                 <search string="Appraisal Plan">
11                    <group>
12                        <field name="name" string="Appraisal Plans"/>
13                        <separator orientation="vertical"/>
14                        <field name="company_id" widget="selection" groups="base.group_multi_company"/>
15                    </group>
16                    <newline/>
17                    <group expand="0" string="Group By..." groups="base.group_multi_company">
18                         <filter string="Company" icon="terp-go-home" domain="[]" context="{'group_by':'company_id'}"/>
19                     </group>
20                </search>
21             </field>
22         </record>
23
24         <record model="ir.ui.view" id="view_hr_evaluation_plan_form">
25             <field name="name">hr_evaluation.plan.form</field>
26             <field name="model">hr_evaluation.plan</field>
27             <field name="type">form</field>
28             <field name="arch" type="xml">
29                 <form string="Appraisal Plan" version="7.0">
30                     <group col="4">
31                         <group>
32                             <field name="name"/>
33                             <field name="company_id" widget="selection" groups="base.group_multi_company"/>
34                             <field name="active"/>
35                         </group>
36                         <group>
37                             <field name="month_first"/>
38                             <field name="month_next"/>
39                         </group>
40                     </group>
41                      <notebook>
42                          <page string="Appraisal Phases">
43                             <field name="phase_ids"/>
44                          </page>
45                      </notebook>
46                 </form>
47             </field>
48         </record>
49         <record model="ir.ui.view" id="view_hr_evaluation_plan_tree">
50             <field name="name">hr_evaluation.plan.form</field>
51             <field name="model">hr_evaluation.plan</field>
52             <field name="type">tree</field>
53             <field name="arch" type="xml">
54                 <tree string="Appraisal Plan">
55                     <field name="name"/>
56                     <field name="month_first"/>
57                     <field name="month_next"/>
58                     <field name="company_id" groups="base.group_multi_company"/>
59                 </tree>
60             </field>
61         </record>
62         <record model="ir.actions.act_window" id="open_view_hr_evaluation_plan_tree">
63             <field name="name">Appraisal Plans</field>
64             <field name="res_model">hr_evaluation.plan</field>
65             <field name="view_type">form</field>
66             <field name="view_mode">tree,form</field>
67         </record>
68
69         <menuitem name="Appraisal" parent="hr.menu_hr_root" id="menu_eval_hr" sequence="25"/>
70         <menuitem name="Periodic Appraisal" parent="hr.menu_hr_configuration" id="menu_eval_hr_config" sequence="4"/>
71         <menuitem parent="hr.menu_hr_configuration" id="menu_open_view_hr_evaluation_plan_tree"
72             action="open_view_hr_evaluation_plan_tree" sequence="15"/>
73
74         <record model="ir.ui.view" id="view_hr_evaluation_plan_phase_form">
75             <field name="name">hr_evaluation.plan.phase.form</field>
76             <field name="model">hr_evaluation.plan.phase</field>
77             <field name="type">form</field>
78             <field name="arch" type="xml">
79                 <form string="Appraisal Plan Phases" version="7.0">
80                  <notebook>
81                    <page string="General">
82                     <group>
83                     <field name="plan_id" invisible="1"/>
84                         <group>
85                         <group>
86                             <field name="name"/>
87                             <field name="wait"/>
88                             <field name="sequence"/>
89                         </group>
90                         <group>
91                             <separator string="Action to Perform" colspan="4"/>
92                             <field name="action"/>
93                             <field name="survey_id" domain="[('state','=','open')]"/>
94                         </group>
95                         <group string="Send to Managers">
96                             <field name="send_answer_manager"/>
97                             <field name="send_anonymous_manager"/>
98                         </group><group string="Send to Employees">
99                             <field name="send_answer_employee"/>
100                             <field name="send_anonymous_employee"/>
101                         </group>
102                         </group>
103                     </group>
104                     </page>
105                     <page string="Mail Settings">
106                         <field name="mail_feature"/>
107                         <separator string="Mail Body"/>
108                         <field name="mail_body"/>
109                         <group string="Legend">
110                             <label string=" (employee_name)s: Partner name"/>
111                             <label string="(user_signature)s: User name"/>
112                             <label string="(date)s: Current Date"/>
113                             <label string="(eval_name)s:Appraisal Name"/>
114                         </group>
115                     </page>
116                   </notebook>
117                 </form>
118             </field>
119         </record>
120         <record model="ir.ui.view" id="view_hr_evaluation_plan_phase_tree">
121             <field name="name">hr_evaluation.plan.phase.form</field>
122             <field name="model">hr_evaluation.plan.phase</field>
123             <field name="type">tree</field>
124             <field name="arch" type="xml">
125                 <tree string="Appraisal Plan Phases" editable="bottom" >
126                     <field name="sequence"/>
127                     <field name="name"/>
128                     <field name="action"/>
129                     <field name="survey_id"/>
130                     <field name="wait"/>
131                 </tree>
132             </field>
133         </record>
134
135         <record id="hr_hr_employee_view_form" model="ir.ui.view">
136             <field name="name">hr.hr.employee.view.form</field>
137             <field name="model">hr.employee</field>
138             <field name="inherit_id" ref="hr.view_employee_form"/>
139             <field name="arch" type="xml">
140                 <page string="Personal Information" position="after">
141                     <page string="Appraisal" groups="base.group_hr_user">
142                         <group col="4">
143                             <field name="evaluation_plan_id" on_change="onchange_evaluation_plan_id(evaluation_plan_id, evaluation_date)"/>
144                             <field name="evaluation_date"/>
145                         </group>
146                     </page>
147                 </page>
148             </field>
149         </record>
150
151         <record model="ir.ui.view" id="view_hr_evaluation_form">
152             <field name="name">hr_evaluation.evaluation.form</field>
153             <field name="model">hr_evaluation.evaluation</field>
154             <field name="type">form</field>
155             <field name="arch" type="xml">
156                 <form string="Appraisal" version="7.0">
157                 <header>
158                     <button name="button_plan_in_progress" string="Start Appraisal" states="draft" type="object" class="oe_highlight"/>
159                     <button name="button_final_validation" string="Validate Appraisal" states="wait" type="object" class="oe_highlight"/>
160                     <button name="button_done" string="Done" states="progress" type="object" class="oe_highlight"/>
161                     <button name="button_draft" string="Reset to Draft" states="cancel" type="object" />
162                     <button name="button_cancel" string="Cancel" states="draft,wait,progress" type="object"/>
163                     <field name="state" widget="statusbar" statusbar_visible="draft,progress,wait,done" statusbar_colors='{"progress":"blue"}'/>
164                 </header>
165                 <sheet>
166                     <label for="employee_id" class="oe_edit_only"/>
167                     <h1><field name="employee_id" on_change="onchange_employee_id(employee_id)" class="oe_inline"/>, <field name="date" class="oe_inline"/></h1>
168                     <label for="plan_id" class="oe_edit_only"/>
169                     <h2><field name="plan_id"/></h2>
170                     <group>
171                         <group colspan="4" attrs="{'invisible':['|', ('state','=','draft'), ('state', '=', 'wait')]}">
172                             <field name="rating" attrs="{'readonly':[('state','&lt;&gt;','progress')]}"/>
173                             <field name="date_close" readonly="1"/>
174                         </group>
175                     </group>
176                     <group string="Appraisal Forms" attrs="{'invisible':[('state','=','draft')]}">
177                         <field nolabel="1" name="survey_request_ids">
178                             <form string="Interview Appraisal" version="7.0">
179                                 <div class="oe_right oe_button_box">
180                                     <button name="%(survey.action_view_survey_question_message)d" string="Answer Survey" type="action" states="waiting_answer,done,cancel" icon="gtk-execute" context="{'survey_id': survey_id, 'response_id': [response], 'response_no':0, 'active' : response,'request' : True, 'object' : 'hr.evaluation.interview', 'cur_id' : active_id}" attrs="{'readonly':[('survey_id','=',False)]}"/>
181                                     <button name="%(survey.survey_browse_response)d" string="Print Interview" type="action" states="done" icon="gtk-print" context="{'survey_id': survey_id, 'response_id' : [response], 'response_no':0,}" attrs="{'readonly':[('response','=',False)]}" />
182                                 </div>
183                                 <group>
184                                     <group>
185                                         <field name="survey_id"/>
186                                         <field name="user_to_review_id"/>
187                                         <field name="user_id" string="Interviewer"/>
188                                     </group>
189                                     <group>              
190                                         <field name="date_deadline"/>
191                                         <field name="response" readonly="1"/>
192                                     </group>
193                                 </group>
194                                 <group col="4" string="Status" invisible="1">
195                                      <field name="state"/>
196                                      <div>
197                                          <button string="Done" name="survey_req_done" states="waiting_answer" type="object" icon="gtk-jump-to" />
198                                      </div>
199                                 </group>
200                             </form>
201                         </field>
202                     </group>
203                     <group string="Internal Notes" attrs="{'invisible':[('state','=','draft')]}">
204                         <field nolabel="1" name="note_action"
205                             groups="base.group_hr_manager" placeholder="Appraisal Summary..."/>
206                     </group>
207                     <group string="Public Notes" attrs="{'invisible':[('state','=','draft')]}">
208                         <field nolabel="1" name="note_summary" placeholder="Action Plan..."/>
209                     </group>
210               </sheet>
211               </form>
212             </field>
213         </record>
214
215         <record model="ir.ui.view" id="view_hr_evaluation_tree">
216             <field name="name">hr_evaluation.evaluation.tree</field>
217             <field name="model">hr_evaluation.evaluation</field>
218             <field name="type">tree</field>
219             <field name="arch" type="xml">
220                 <tree colors="blue:state == 'draft';black:state in ('wait','progress');gray:state in('done','cancel')" string="Appraisal">
221                     <field name="employee_id"/>
222                     <field name="plan_id"/>
223                     <field name="date"/>
224                     <!--field name="progress" widget="progressbar"/-->
225                     <field name="rating"/>
226                     <field name="state"/>
227                 </tree>
228             </field>
229         </record>
230
231        <record id="hr_evaluation.evaluation_search" model="ir.ui.view">
232             <field name="name">hr_evaluation.evaluation_search</field>
233             <field name="model">hr_evaluation.evaluation</field>
234             <field name="type">search</field>
235             <field name="arch" type="xml">
236                 <search string="Search Appraisal">
237                    <group>
238                         <field name="date"/>
239                         <separator orientation="vertical"/>
240                         <filter icon="terp-check" string="Pending" domain="[('state','=','wait')]" help="Appraisal that are in Plan In Progress state"/>
241                         <filter icon="terp-camera_test" string="In progress" domain="[('state','=','progress')]" help="Appraisal that are in waiting appreciation state"/>
242                         <separator orientation="vertical"/>
243                         <field name="employee_id" />
244                         <field name="plan_id" widget="selection" />
245                     </group>
246                     <newline/>
247                     <group expand='0' string='Group by...'>
248                         <filter string='Employee' icon="terp-personal" domain="[]" context="{'group_by' : 'employee_id'}" />
249                         <separator orientation="vertical"/>
250                         <filter string='Plan' icon="terp-stock_align_left_24" domain="[]" context="{'group_by' : 'plan_id'}" />
251                         <filter string='Status' icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by' : 'state'}" />
252                         <separator orientation="vertical"/>
253                         <filter string='Date' icon="terp-go-month" domain="[]" context="{'group_by' : 'date'}" />
254                    </group>
255                </search>
256             </field>
257         </record>
258
259         <record model="ir.actions.act_window" id="open_view_hr_evaluation_tree">
260             <field name="name">Appraisal</field>
261             <field name="res_model">hr_evaluation.evaluation</field>
262             <field name="view_type">form</field>
263             <field name="view_mode">tree,form,graph</field>
264             <field name="search_view_id" ref="hr_evaluation.evaluation_search"/>
265              <field name="context">{"search_default_next_month":1}</field>
266             <field name="help">Each employee may be assigned an Appraisal Plan. Such a plan defines the frequency and the way you manage your periodic personnel evaluation. You will be able to define steps and attach interviews to each step. OpenERP manages all kind of evaluations: bottom-up, top-down, self-evaluation and final evaluation by the manager.</field>
267         </record>
268
269         <menuitem name="Appraisals" parent="menu_eval_hr" id="menu_open_view_hr_evaluation_tree"
270             action="open_view_hr_evaluation_tree" groups="base.group_hr_user"/>
271
272         <record model="ir.ui.view" id="view_hr_evaluation_interview_form">
273             <field name="name">hr_evaluation.interview.form</field>
274             <field name="model">hr.evaluation.interview</field>
275             <field name="type">form</field>
276             <field name="arch" type="xml">
277                 <form string="Interview Appraisal" version="7.0">
278                     <header>
279                         <button string="Send Request" name="survey_req_waiting_answer" states="draft" type="object" icon="gtk-yes" class="oe_highlight"/>
280                         <button string="Done" name="survey_req_done" states="waiting_answer" type="object" icon="gtk-jump-to" class="oe_highlight"/>
281                         <button string="Cancel" name="survey_req_cancel" states="draft,waiting_answer" type="object" icon="gtk-cancel"/>
282                         <button name="%(survey.action_view_survey_question_message)d" string="Answer Survey" type="action" states="waiting_answer,done,cancel" icon="gtk-execute" context="{'survey_id': survey_id, 'response_id': [response], 'response_no':0, 'active' : response,'request' : True, 'object' : 'hr.evaluation.interview', 'cur_id' : active_id}" attrs="{'readonly':[('survey_id','=',False)]}" class="oe_highlight"/>
283                         <button name="action_print_survey" string="Print Survey" type="object" states="draft" icon="gtk-print" context="{'survey_id': survey_id, 'response_id': [response], 'response_no':0}" attrs="{'readonly':[('survey_id','=',False)]}" class="oe_highlight"/>
284                         <button name="action_print_survey" string="Print Survey" type="object" icon="gtk-print" context="{'survey_id': survey_id, 'response_id': [response], 'response_no':0}" attrs="{'readonly':[('survey_id','=',False)]}" class="oe_highlight"/>
285                         <button string="Send Reminder Email" name="%(mail.action_email_compose_message_wizard)d" icon="terp-mail-message-new" type="action" states="waiting_answer" class="oe_highlight"/>
286                         <field name="state" widget="statusbar" statusbar_visible="waiting_answer,done"/>
287                     </header>
288                     <sheet>
289                         <group>
290                             <group>
291                                 <field name="survey_id"/>
292                                 <field name="user_to_review_id"/>
293                                 <field name="user_id" string="Interviewer"/>
294                             </group>
295                             <group>
296                                 <field name="date_deadline"/>
297                                 <field name="response" readonly="1"/>
298                                 <field name="evaluation_id" string="Appraisal Plan"/>
299                             </group>
300                         </group>
301                     </sheet>
302                 </form>
303             </field>
304         </record>
305
306         <record model="ir.ui.view" id="view_hr_evaluation_interview_tree">
307             <field name="name">hr_evaluation.interview.tree</field>
308             <field name="model">hr.evaluation.interview</field>
309             <field name="type">tree</field>
310             <field name="arch" type="xml">
311                 <tree string="Interview Appraisal">
312                     <field name="date_deadline" string="Deadline Date"/>
313                     <field name="survey_id"/>
314                     <field name="user_id" string="Interviewer"/>
315                     <field name="user_to_review_id"/>
316                     <field name="response" readonly="1" invisible="True"/>
317                     <button name="%(survey.action_view_survey_question_message)d" string="Answer Survey" type="action" states="waiting_answer,done,cancel" icon="gtk-execute" context="{'survey_id': survey_id, 'response_id': [response], 'response_no':0, 'active' : response, 'request' : True, 'object' : 'hr.evaluation.interview', 'cur_id' : active_id}" attrs="{'readonly':[('survey_id','=',False)]}"/>
318                     <button name="action_print_survey" string="Print Survey" type="object" icon="gtk-print" context="{'survey_id': survey_id, 'response_id': [response], 'response_no':0}" attrs="{'readonly':[('survey_id','=',False)]}"/>
319                     <button name="%(mail.action_email_compose_message_wizard)d" string="Send Reminder Email" icon="terp-mail-message-new" type="action" states="waiting_answer"/>
320                     <field name="state"/>
321                     <button string="Send Request" name="survey_req_waiting_answer" states="draft" type="object" icon="gtk-yes" />
322                     <button string="Done" name="survey_req_done" states="waiting_answer" type="object" icon="gtk-jump-to" />
323                 </tree>
324             </field>
325         </record>
326
327        <record id="view_hr_evaluation_interview_search" model="ir.ui.view">
328             <field name="name">view_hr_evaluation_interview_search</field>
329             <field name="model">hr.evaluation.interview</field>
330             <field name="type">search</field>
331             <field name="arch" type="xml">
332                 <search string="Search Appraisal">
333                    <group>
334                         <field name="date_deadline"/>
335                         <separator orientation="vertical"/>
336                         <filter icon="terp-gtk-go-back-rtl" string="To Do" name="todo" domain="[('state','=','waiting_answer')]"/>
337                         <separator orientation="vertical"/>
338                         <field name="user_to_review_id"/>
339                         <field name="user_id" string="Interviewer"/>
340                    </group>
341                    <newline/>
342                     <group expand="0" string="Group By...">
343                         <filter string="Interviewer" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
344                         <separator orientation="vertical"/>
345                         <filter string="Survey" icon="terp-stock_align_left_24" domain="[]" context="{'group_by':'survey_id'}"/>
346                         <separator orientation="vertical"/>
347                         <filter string="Status" name="group_state" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
348                     </group>
349                </search>
350             </field>
351         </record>
352
353         <record id="view_evaluation_calendar" model="ir.ui.view">
354             <field name="name">Interview Requests</field>
355             <field name="model">hr.evaluation.interview</field>
356             <field name="type">calendar</field>
357             <field name="arch" type="xml">
358                 <calendar string="Interview Request" color="user_to_review_id" date_start="date_deadline">
359                     <field name="request_id"/>
360                 </calendar>
361             </field>
362         </record>
363
364         <record model="ir.actions.act_window" id="action_hr_evaluation_interview_tree">
365             <field name="name">Interview Requests</field>
366             <field name="res_model">hr.evaluation.interview</field>
367             <field name="view_type">form</field>
368             <field name="view_id" eval="False"/>
369             <field name="domain">[('is_evaluation' ,'=', True)]</field>
370             <field name="context">{'default_is_evaluation': True, "search_default_todo":1,"search_default_user_id":uid}</field>
371             <field name="search_view_id" ref="view_hr_evaluation_interview_search"/>
372             <field name="help">Interview Requests are generated automatically by OpenERP according to an employee's Appraisal Plan. Each user receives automatic emails and requests to evaluate their colleagues periodically.</field>
373         </record>
374
375         <record model="ir.actions.act_window.view" id="hr_evaluation_interview_tree">
376             <field name="sequence" eval="1"/>
377             <field name="view_mode">tree</field>
378             <field name="view_id" ref="view_hr_evaluation_interview_tree"/>
379             <field name="act_window_id" ref="action_hr_evaluation_interview_tree"/>
380         </record>
381         <record model="ir.actions.act_window.view" id="hr_evaluation_interview_form">
382             <field name="sequence" eval="2"/>
383             <field name="view_mode">form</field>
384             <field name="view_id" ref="view_hr_evaluation_interview_form"/>
385             <field name="act_window_id" ref="action_hr_evaluation_interview_tree"/>
386         </record>
387         <record model="ir.actions.act_window.view" id="action_view_evaluation_calendar">
388             <field name="sequence" eval="3"/>
389             <field name="view_mode">calendar</field>
390             <field name="view_id" ref="view_evaluation_calendar"/>
391             <field name="act_window_id" ref="action_hr_evaluation_interview_tree"/>
392         </record>
393
394         <menuitem name="Interview Requests" parent="menu_eval_hr" id="menu_open_hr_evaluation_interview_requests"
395             action="action_hr_evaluation_interview_tree"/>
396
397       <!-- Email Compose message Action-->
398       <act_window
399       id="evaluation_reminders" name="Appraisal Reminders"
400       res_model="mail.compose.message"
401       src_model="hr.evaluation.interview"
402       view_type="form" view_mode="form"
403       target="new" multi="True"
404       key2="client_action_multi"
405       context="{'mail.compose.message.mode':'mass_mail'}"/>
406
407       <!-- Appraisal Interviews Button on Employee Form -->
408       <act_window
409       context="{'search_default_user_to_review_id': [active_id], 'default_user_to_review_id': active_id}"
410       id="act_hr_employee_2_hr__evaluation_interview"
411       name="Appraisal Interviews"
412       res_model="hr.evaluation.interview"
413       src_model="hr.employee"/>
414
415     </data>
416 </openerp>