[MERGE] merged with main addons
[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="arch" type="xml">
9                 <search string="Appraisal Plan">
10                    <field name="name" string="Appraisal Plans"/>
11                    <field name="company_id" groups="base.group_multi_company"/>
12                    <group expand="0" string="Group By..." groups="base.group_multi_company">
13                         <filter string="Company" icon="terp-go-home" domain="[]" context="{'group_by':'company_id'}"/>
14                     </group>
15                </search>
16             </field>
17         </record>
18
19         <record model="ir.ui.view" id="view_hr_evaluation_plan_form">
20             <field name="name">hr_evaluation.plan.form</field>
21             <field name="model">hr_evaluation.plan</field>
22             <field name="arch" type="xml">
23                 <form string="Appraisal Plan" version="7.0">
24                     <group col="4">
25                         <group>
26                             <field name="name"/>
27                             <field name="company_id" widget="selection" groups="base.group_multi_company"/>
28                             <field name="active"/>
29                         </group>
30                         <group>
31                             <field name="month_first"/>
32                             <field name="month_next"/>
33                         </group>
34                     </group>
35                      <notebook>
36                          <page string="Appraisal Phases">
37                             <field name="phase_ids"/>
38                          </page>
39                      </notebook>
40                 </form>
41             </field>
42         </record>
43         <record model="ir.ui.view" id="view_hr_evaluation_plan_tree">
44             <field name="name">hr_evaluation.plan.form</field>
45             <field name="model">hr_evaluation.plan</field>
46             <field name="arch" type="xml">
47                 <tree string="Appraisal Plan">
48                     <field name="name"/>
49                     <field name="month_first"/>
50                     <field name="month_next"/>
51                     <field name="company_id" groups="base.group_multi_company"/>
52                 </tree>
53             </field>
54         </record>
55         <record model="ir.actions.act_window" id="open_view_hr_evaluation_plan_tree">
56             <field name="name">Appraisal Plans</field>
57             <field name="res_model">hr_evaluation.plan</field>
58             <field name="view_type">form</field>
59             <field name="view_mode">tree,form</field>
60         </record>
61         
62       <!-- Appraisal Interviews Action -->
63       
64         <record id="act_hr_employee_2_hr__evaluation_interview" model="ir.actions.act_window">
65             <field name="res_model">hr.evaluation.interview</field>
66             <field name="view_type">form</field>
67             <field name="view_mode">tree,form</field>
68             <field name="context">{'search_default_user_to_review_id': [active_id], 'default_user_to_review_id': active_id}</field>
69         </record>
70
71         <menuitem name="Appraisal" parent="hr.menu_hr_root" id="menu_eval_hr" sequence="25"/>
72         <menuitem name="Periodic Appraisal" parent="hr.menu_hr_configuration" id="menu_eval_hr_config" sequence="4"/>
73         <menuitem parent="hr.menu_hr_configuration" id="menu_open_view_hr_evaluation_plan_tree"
74             action="open_view_hr_evaluation_plan_tree" sequence="15"/>
75
76         <record model="ir.ui.view" id="view_hr_evaluation_plan_phase_form">
77             <field name="name">hr_evaluation.plan.phase.form</field>
78             <field name="model">hr_evaluation.plan.phase</field>
79             <field name="arch" type="xml">
80                 <form string="Appraisal Plan Phases" version="7.0">
81                  <notebook>
82                    <page string="General">
83                     <group>
84                     <field name="plan_id" invisible="1"/>
85                         <group>
86                         <group>
87                             <field name="name"/>
88                             <field name="wait"/>
89                             <field name="sequence"/>
90                         </group>
91                         <group>
92                             <separator string="Action to Perform" colspan="4"/>
93                             <field name="action"/>
94                             <field name="survey_id" domain="[('state','=','open')]"/>
95                         </group>
96                         <group string="Send to Managers">
97                             <field name="send_answer_manager"/>
98                             <field name="send_anonymous_manager"/>
99                         </group><group string="Send to Employees">
100                             <field name="send_answer_employee"/>
101                             <field name="send_anonymous_employee"/>
102                         </group>
103                         </group>
104                     </group>
105                     </page>
106                     <page string="Mail Settings">
107                         <field name="mail_feature"/>
108                         <separator string="Mail Body"/>
109                         <field name="mail_body"/>
110                         <group string="Legend">
111                             <label string=" (employee_name)s: Partner name"/>
112                             <label string="(user_signature)s: User name"/>
113                             <label string="(date)s: Current Date"/>
114                             <label string="(eval_name)s:Appraisal Name"/>
115                         </group>
116                     </page>
117                   </notebook>
118                 </form>
119             </field>
120         </record>
121         <record model="ir.ui.view" id="view_hr_evaluation_plan_phase_tree">
122             <field name="name">hr_evaluation.plan.phase.form</field>
123             <field name="model">hr_evaluation.plan.phase</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             <xpath expr="//group[@name='active_group']" position="before">
141                 <group string="Appraisals">
142                     <field name="evaluation_plan_id" on_change="onchange_evaluation_plan_id(evaluation_plan_id, evaluation_date)"/>
143                     <field name="evaluation_date"/>
144                 </group>
145             </xpath>
146             <xpath expr="//div[@name='button_box']" position="inside">
147                 <button name="%(act_hr_employee_2_hr__evaluation_interview)d" string="Appraisal Interviews" type="action"/>
148             </xpath>
149             </field>
150         </record>
151
152         <record model="ir.ui.view" id="view_hr_evaluation_form">
153             <field name="name">hr_evaluation.evaluation.form</field>
154             <field name="model">hr_evaluation.evaluation</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="arch" type="xml">
219                 <tree colors="blue:state == 'draft';black:state in ('wait','progress');gray:state in('done','cancel')" string="Appraisal">
220                     <field name="employee_id"/>
221                     <field name="plan_id"/>
222                     <field name="date"/>
223                     <!--field name="progress" widget="progressbar"/-->
224                     <field name="rating"/>
225                     <field name="state"/>
226                 </tree>
227             </field>
228         </record>
229
230        <record id="hr_evaluation.evaluation_search" model="ir.ui.view">
231             <field name="name">hr_evaluation.evaluation_search</field>
232             <field name="model">hr_evaluation.evaluation</field>
233             <field name="arch" type="xml">
234                 <search string="Search Appraisal">
235                     <field name="date"/>
236                     <filter icon="terp-check" string="Pending" domain="[('state','=','wait')]" help="Appraisal that are in Plan In Progress state"/>
237                     <filter icon="terp-camera_test" string="In progress" domain="[('state','=','progress')]" help="Appraisal that are in waiting appreciation state"/>
238                     <field name="employee_id" />
239                     <field name="plan_id"/>
240                     <group expand='0' string='Group by...'>
241                         <filter string='Employee' icon="terp-personal" domain="[]" context="{'group_by' : 'employee_id'}" />
242                         <filter string='Plan' icon="terp-stock_align_left_24" domain="[]" context="{'group_by' : 'plan_id'}" />
243                         <filter string='Status' icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by' : 'state'}" />
244                         <filter string='Date' icon="terp-go-month" domain="[]" context="{'group_by' : 'date'}" />
245                    </group>
246                </search>
247             </field>
248         </record>
249
250         <record model="ir.actions.act_window" id="open_view_hr_evaluation_tree">
251             <field name="name">Appraisal</field>
252             <field name="res_model">hr_evaluation.evaluation</field>
253             <field name="view_type">form</field>
254             <field name="view_mode">tree,form</field>
255             <field name="search_view_id" ref="hr_evaluation.evaluation_search"/>
256              <field name="context">{"search_default_next_month":1}</field>
257             <field name="help" type="html">
258               <p class="oe_view_nocontent_create">
259                 Click to create a new appraisal.
260               </p><p>
261                 Each employee may be assigned an Appraisal Plan. Such a plan
262                 defines the frequency and the way you manage your periodic
263                 personnel evaluation. You will be able to define steps and
264                 attach interviews to each step. OpenERP manages all kind of
265                 evaluations: bottom-up, top-down, self-evaluation and final
266                 evaluation by the manager.
267               </p>
268             </field>
269         </record>
270
271         <menuitem name="Appraisals" parent="menu_eval_hr" id="menu_open_view_hr_evaluation_tree"
272             action="open_view_hr_evaluation_tree" groups="base.group_hr_user"/>
273
274         <record model="ir.ui.view" id="view_hr_evaluation_interview_form">
275             <field name="name">hr_evaluation.interview.form</field>
276             <field name="model">hr.evaluation.interview</field>
277             <field name="arch" type="xml">
278                 <form string="Interview Appraisal" version="7.0">
279                     <header>
280                         <button string="Cancel" name="survey_req_cancel" type="object"
281                             states="draft,waiting_answer"/>
282                         <button string="Print Survey" name="action_print_survey"  type="object"
283                             states="draft" context="{'survey_id': survey_id, 'response_id': [response], 'response_no':0}"
284                             attrs="{'readonly':[('survey_id','=',False)]}" class="oe_highlight"/>
285                         <button string="Send Request" name="survey_req_waiting_answer" type="object"
286                             states="draft" class="oe_highlight"/>
287                         <button string="Answer Survey" name="%(survey.action_view_survey_question_message)d" type="action"
288                             states="waiting_answer"
289                             context="{'survey_id': survey_id, 'response_id': [response], 'response_no':0, 'active' : response,'request' : True, 'object' : 'hr.evaluation.interview', 'cur_id' : active_id}"
290                             attrs="{'readonly':[('survey_id','=',False)]}"/>
291                         <button string="Done" name="survey_req_done" type="object"
292                             states="waiting_answer"/>
293                         <field name="state" widget="statusbar" statusbar_visible="waiting_answer,done"/>
294                     </header>
295                     <sheet>
296                         <div class="oe_right oe_button_box" name="button_box">
297                             <button string="Send Reminder Email" name="%(mail.action_email_compose_message_wizard)d" type="action"
298                                 states="waiting_answer"
299                                 context="{'default_body_text': 'Hello,\n\nKindly post your response for the survey interview.\n\nThanks',
300                                             'default_subject': 'Reminder to fill up Survey' }"/>
301                         </div>
302                         <group>
303                             <group col="3" colspan="1">
304                                 <field name="survey_id"/>
305                                 <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"/>
306                                 <field name="user_to_review_id"/>
307                                 <label string=""/>
308                                 <field name="user_id" string="Interviewer"/>
309                             </group>
310                             <group>
311                                 <field name="date_deadline"/>
312                                 <field name="response" readonly="1"/>
313                                 <field name="evaluation_id" string="Appraisal Plan"/>
314                             </group>
315                         </group>
316                     </sheet>
317                 </form>
318             </field>
319         </record>
320
321         <record model="ir.ui.view" id="view_hr_evaluation_interview_tree">
322             <field name="name">hr_evaluation.interview.tree</field>
323             <field name="model">hr.evaluation.interview</field>
324             <field name="arch" type="xml">
325                 <tree string="Interview Appraisal">
326                     <field name="date_deadline" string="Deadline Date"/>
327                     <field name="survey_id"/>
328                     <field name="user_id" string="Interviewer"/>
329                     <field name="user_to_review_id"/>
330                     <field name="response" readonly="1" invisible="True"/>
331                     <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)]}"/>
332                     <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)]}"/>
333                     <button name="%(mail.action_email_compose_message_wizard)d" string="Send Reminder Email" icon="terp-mail-message-new" type="action" states="waiting_answer"/>
334                     <field name="state"/>
335                     <button string="Send Request" name="survey_req_waiting_answer" states="draft" type="object" icon="gtk-yes" />
336                     <button string="Done" name="survey_req_done" states="waiting_answer" type="object" icon="gtk-jump-to" />
337                 </tree>
338             </field>
339         </record>
340
341        <record id="view_hr_evaluation_interview_search" model="ir.ui.view">
342             <field name="name">view_hr_evaluation_interview_search</field>
343             <field name="model">hr.evaluation.interview</field>
344             <field name="arch" type="xml">
345                 <search string="Search Appraisal">
346                     <field name="date_deadline"/>
347                     <filter icon="terp-gtk-go-back-rtl" string="To Do" name="todo" domain="[('state','=','waiting_answer')]"/>
348                     <field name="user_to_review_id"/>
349                     <field name="user_id" string="Interviewer"/>
350                     <group expand="0" string="Group By...">
351                         <filter string="Interviewer" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
352                         <filter string="Survey" icon="terp-stock_align_left_24" domain="[]" context="{'group_by':'survey_id'}"/>
353                         <filter string="Status" name="group_state" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
354                     </group>
355                </search>
356             </field>
357         </record>
358
359         <record id="view_evaluation_calendar" model="ir.ui.view">
360             <field name="name">Interview Requests</field>
361             <field name="model">hr.evaluation.interview</field>
362             <field name="arch" type="xml">
363                 <calendar string="Interview Request" color="user_to_review_id" date_start="date_deadline">
364                     <field name="request_id"/>
365                 </calendar>
366             </field>
367         </record>
368
369         <record model="ir.actions.act_window" id="action_hr_evaluation_interview_tree">
370             <field name="name">Interview Requests</field>
371             <field name="res_model">hr.evaluation.interview</field>
372             <field name="view_type">form</field>
373             <field name="view_id" eval="False"/>
374             <field name="domain">[('is_evaluation' ,'=', True)]</field>
375             <field name="context">{'default_is_evaluation': True, "search_default_todo":1,"search_default_user_id":uid}</field>
376             <field name="search_view_id" ref="view_hr_evaluation_interview_search"/>
377             <field name="help" type="html">
378               <p class="oe_view_nocontent_create">
379                 Click to create a new interview request related to a personnal evaluation. 
380               </p><p>
381                 Interview requests are usually generated automatically by
382                 OpenERP according to an employee's appraisal plan. Each user
383                 receives automatic emails and requests to evaluate their
384                 colleagues periodically.
385               </p>
386             </field>
387         </record>
388
389         <record model="ir.actions.act_window.view" id="hr_evaluation_interview_tree">
390             <field name="sequence" eval="1"/>
391             <field name="view_mode">tree</field>
392             <field name="view_id" ref="view_hr_evaluation_interview_tree"/>
393             <field name="act_window_id" ref="action_hr_evaluation_interview_tree"/>
394         </record>
395         <record model="ir.actions.act_window.view" id="hr_evaluation_interview_form">
396             <field name="sequence" eval="2"/>
397             <field name="view_mode">form</field>
398             <field name="view_id" ref="view_hr_evaluation_interview_form"/>
399             <field name="act_window_id" ref="action_hr_evaluation_interview_tree"/>
400         </record>
401         <record model="ir.actions.act_window.view" id="action_view_evaluation_calendar">
402             <field name="sequence" eval="3"/>
403             <field name="view_mode">calendar</field>
404             <field name="view_id" ref="view_evaluation_calendar"/>
405             <field name="act_window_id" ref="action_hr_evaluation_interview_tree"/>
406         </record>
407
408         <menuitem name="Interview Requests" parent="menu_eval_hr" id="menu_open_hr_evaluation_interview_requests"
409             action="action_hr_evaluation_interview_tree"/>
410
411       <!-- Email Compose message Action-->
412       <act_window
413         id="evaluation_reminders" name="Appraisal Reminders"
414         res_model="mail.compose.message"
415         src_model="hr.evaluation.interview"
416         view_type="form" view_mode="form"
417         target="new" multi="True"
418         key2="client_action_multi"
419         context="{'default_composition_mode': 'mass_mail',
420                     'default_body_text': 'Hello,\n\nKindly post your response for the survey interview.\n\nThanks',
421                     'default_subject': 'Reminder to fill up Survey'}"/>
422
423     </data>
424 </openerp>