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