[MOD]: Usability Improvment in cancel & validate button position
[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="Search Evaluation Plan">
11                    <group col='15' colspan='4'>
12                        <field name="name"/>
13                        <field name="company_id" widget="selection" groups="base.group_multi_company"/>
14                    </group>
15                    <newline/>
16                    <group expand="0" string="Group By..." groups="base.group_multi_company">
17                         <filter string="Company" icon="terp-go-home" domain="[]" context="{'group_by':'company_id'}"/>
18                     </group>
19                </search>
20             </field>
21         </record>
22
23         <record model="ir.ui.view" id="view_hr_evaluation_plan_form">
24             <field name="name">hr_evaluation.plan.form</field>
25             <field name="model">hr_evaluation.plan</field>
26             <field name="type">form</field>
27             <field name="arch" type="xml">
28                 <form string="Evaluation Plan">
29                     <group col="8" colspan="4">
30                         <field name="name" select="1"/>
31                         <field name="company_id" select="1" widget="selection" groups="base.group_multi_company"/>
32                         <field name="month_first"/>
33                         <field name="month_next"/>
34                         <label string="(months)" align="0.0"/>
35                         <newline/>
36                         <field name="active"/>
37                     </group>
38                      <notebook colspan="4">
39                          <page string="Evaluation Phases">
40                             <field name="phase_ids" nolabel="1" colspan="4"/>
41                          </page>
42                      </notebook>
43                 </form>
44             </field>
45         </record>
46         <record model="ir.ui.view" id="view_hr_evaluation_plan_tree">
47             <field name="name">hr_evaluation.plan.form</field>
48             <field name="model">hr_evaluation.plan</field>
49             <field name="type">tree</field>
50             <field name="arch" type="xml">
51                 <tree string="Evaluation Plan">
52                     <field name="name"/>
53                     <field name="month_first"/>
54                     <field name="month_next"/>
55                     <field name="company_id" groups="base.group_multi_company"/>
56                 </tree>
57             </field>
58         </record>
59         <record model="ir.actions.act_window" id="open_view_hr_evaluation_plan_tree">
60             <field name="name">Evaluation Plans</field>
61             <field name="res_model">hr_evaluation.plan</field>
62             <field name="view_type">form</field>
63             <field name="view_mode">tree,form</field>
64         </record>
65
66         <menuitem name="Evaluations" parent="hr.menu_hr_root" id="menu_eval_hr" sequence="6"/>
67         <menuitem name="Periodic Evaluations" parent="hr.menu_hr_configuration" id="menu_eval_hr_config" sequence="4" groups="base.group_hr_manager"/>
68         <menuitem parent="menu_eval_hr_config" id="menu_open_view_hr_evaluation_plan_tree"
69             action="open_view_hr_evaluation_plan_tree"/>
70
71         <record model="ir.ui.view" id="view_hr_evaluation_plan_phase_form">
72             <field name="name">hr_evaluation.plan.phase.form</field>
73             <field name="model">hr_evaluation.plan.phase</field>
74             <field name="type">form</field>
75             <field name="arch" type="xml">
76                 <form string="Evaluation Plan Phases">
77                  <notebook>
78                    <page string="General">
79                     <field name="plan_id" invisible="1"/>
80                     <group col="8" colspan="4">
81                         <field name="name"/>
82                         <field name="wait"/>
83                         <field name="sequence"/>
84                     </group>
85                     <group col="4" colspan="4">
86                         <separator string="Action to Perform" colspan="4"/>
87                         <field name="action"/>
88                         <field name="survey_id" domain="[('state','=','open')]"/>
89                     </group>
90                     <group col="4" colspan="4">
91                         <group col="4" colspan="2">
92                             <separator string="Send to Managers" colspan="2"/>
93                             <newline/>
94                             <field name="send_answer_manager"/>
95                             <newline/>
96                             <field name="send_anonymous_manager"/>
97                         </group>
98                         <group col="4" colspan="2">
99                             <separator string="Send to Employees" colspan="2"/>
100                             <newline/>
101                             <field name="send_answer_employee"/>
102                             <newline/>
103                             <field name="send_anonymous_employee"/>
104                         </group>
105                     </group>
106                     </page>
107                     <page string="Mail Settings">
108                         <field name="mail_feature" colspan="4"/>
109                         <newline/>
110                         <separator string="Mail Body"/>
111                         <newline/>
112                         <field name="mail_body" colspan="4" nolabel="1"/>
113                         <newline/>
114                         <separator string="Legend" colspan ="4"/>
115                           <label string=" (employee_name)s: Partner name" colspan="2"/>
116                           <label string="(user_signature)s: User name" colspan="2"/>
117                           <label string="(date)s: Current Date" colspan="2"/>
118                           <label string="(eval_name)s:Evaluation Name" colspan="2"/>
119                     </page>
120                   </notebook>
121                 </form>
122             </field>
123         </record>
124         <record model="ir.ui.view" id="view_hr_evaluation_plan_phase_tree">
125             <field name="name">hr_evaluation.plan.phase.form</field>
126             <field name="model">hr_evaluation.plan.phase</field>
127             <field name="type">tree</field>
128             <field name="arch" type="xml">
129                 <tree string="Evaluation Plan Phases" editable="bottom" >
130                     <field name="sequence"/>
131                     <field name="name"/>
132                     <field name="action"/>
133                     <field name="survey_id"/>
134                     <field name="wait"/>
135                 </tree>
136             </field>
137         </record>
138
139         <record id="hr_hr_employee_view_form" model="ir.ui.view">
140             <field name="name">hr.hr.employee.view.form</field>
141             <field name="model">hr.employee</field>
142             <field name="inherit_id" ref="hr.view_employee_form"/>
143             <field name="arch" type="xml">
144                 <page string="Notes" position="before">
145                     <page string="Evaluation">
146                         <field name="evaluation_plan_id" on_change="onchange_evaluation_plan_id(evaluation_plan_id, evaluation_date)"/>
147                         <field name="evaluation_date"/>
148                     </page>
149                 </page>
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="type">form</field>
157             <field name="arch" type="xml">
158                 <form string="Evaluation">
159                     <group col="4" colspan="3">
160                         <separator string="Evaluation Data" colspan="4"/>
161                         <field name="employee_id" on_change="onchange_employee_id(employee_id)"/>
162                         <field name="plan_id"/>
163                         <field name="date"/>
164                         <field name="progress" widget="progressbar"/>
165                     </group>
166                     <group col="2" colspan="1">
167                         <separator string="Ending Summary" colspan="2"/>
168                         <field name="rating" attrs="{'readonly':[('state','&lt;&gt;','progress')],'required':[('state','=','progress')]}"/>
169                         <field name="date_close" readonly="1"/>
170                     </group>
171                     <notebook colspan="4">
172                         <page string="Appraisal">
173                             <field name="survey_request_ids" context="{'phase_id': phase_id}" nolabel="1" colspan="4" widget="one2many"/>
174                         </page>
175                         <page string="Internal Notes">
176                             <field name="note_action" colspan="4" nolabel="1"
177                                 groups="base.group_hr_manager"/>
178                         </page>
179                         <page string="Public Notes">
180                             <field name="note_summary" colspan="4" nolabel="1"/>
181                         </page>
182                     </notebook>
183                     <newline/>
184                     <group col="6" colspan="4">
185                     <field name="state"/>
186                     <button name="button_cancel" string="Cancel" states="draft,wait,progress" type="object"
187                             icon="gtk-cancel"/>
188                     <button name="button_plan_in_progress" string="Start Evaluation" states="draft" type="object"
189                             icon="gtk-execute"/>
190                     <button name="button_done" string="Done" states="progress" type="object"
191                             icon="gtk-jump-to"/>
192                     <button name="button_final_validation" string="Validate Evaluation" states="wait" type="object"
193                             icon="gtk-go-forward"/>
194                     </group>
195               </form>
196             </field>
197         </record>
198
199         <record model="ir.ui.view" id="view_hr_evaluation_tree">
200             <field name="name">hr_evaluation.evaluation.tree</field>
201             <field name="model">hr_evaluation.evaluation</field>
202             <field name="type">tree</field>
203             <field name="arch" type="xml">
204                 <tree colors="blue:state in ('draft');black:state in ('wait','progress');gray:state in('done','cancel')" string="Evaluation">
205                     <field name="employee_id"/>
206                     <field name="plan_id"/>
207                     <field name="date"/>
208                     <!--field name="progress" widget="progressbar"/-->
209                     <field name="rating"/>
210                     <field name="state"/>
211                 </tree>
212             </field>
213         </record>
214
215         <record model="ir.ui.view" id="view_hr_evaluation_graph">
216             <field name="name">hr_evaluation.evaluation.graph</field>
217             <field name="model">hr_evaluation.evaluation</field>
218             <field name="type">graph</field>
219             <field name="arch" type="xml">
220                 <graph string="Evaluation" type="bar">
221                     <field name="employee_id"/>
222                     <field name="progress"  operator="+"/>
223                 </graph>
224             </field>
225         </record>
226
227        <record id="hr_evaluation.evaluation_search" model="ir.ui.view">
228             <field name="name">hr_evaluation.evaluation_search</field>
229             <field name="model">hr_evaluation.evaluation</field>
230             <field name="type">search</field>
231             <field name="arch" type="xml">
232                 <search string="Search Evaluation">
233                    <group col='10' colspan='4'>
234                     <filter icon="terp-check" string="Current" domain="[('state','=','wait'))]" help="Evaluations that are in waiting state"/>                                       
235                     <filter icon="terp-camera_test" string="In progress" domain="[('state','=','progress')]" help="Evaluations that are in progress state"/>
236                     <separator orientation="vertical"/>
237                     <filter icon="terp-go-week" string="7 Days" help="Evaluations to close within the next 7 days"
238                         domain="[('date', '&gt;=', (datetime.date.today()-datetime.timedelta(days=7)).strftime('%%Y-%%m-%%d'))]" />
239                     <separator orientation="vertical"/> 
240                     <filter icon="terp-gnome-cpu-frequency-applet+" string="Late"
241                         help="Evaluations that overpassed the deadline" domain="[('date','&lt;=',(datetime.date.today()).strftime('%%Y-%%m-%%d'))]" />
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='State' 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">Evaluations</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="help">Each employee can be assigned to an evaluation plan. These plans define the frequency and the way you manage your periodic personnal evaluation. You will be able to define steps and attach interview forms to each step. OpenERP manages all kind of evaluations: bottom-up, top-down, self evaluation and final evaluation by the manager.</field>
266         </record>
267
268         <menuitem name="Evaluations" parent="menu_eval_hr" id="menu_open_view_hr_evaluation_tree"
269             action="open_view_hr_evaluation_tree"/>
270
271         <record model="ir.ui.view" id="view_hr_evaluation_interview_form">
272             <field name="name">hr_evaluation.interview.form</field>
273             <field name="model">hr.evaluation.interview</field>
274             <field name="type">form</field>
275             <field name="arch" type="xml">
276                 <form string="Interview Evaluation">
277                     <group col="4" colspan="4">
278                         <field name="survey_id"/>
279                         <field name="evaluation_id"/>
280                         <group col="2" colspan="2">
281                             <button name="%(survey.action_view_survey_question_message)d" string="Interview Question" 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)]}"/>
282                             <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)]}" />
283                         </group>
284                         <field name="date_deadline"/>
285                         <field name="response" readonly="1"/>
286                         <field name="user_to_review_id"/>
287                         <field name="user_id" string="Interviewer"/>
288                     </group>
289                     <newline/>
290                     <separator string="State" colspan="4"/>
291                     <group colspan="4" col="6">
292                          <field name="state"/>
293                     </group>
294                 </form>
295             </field>
296         </record>
297
298         <record model="ir.ui.view" id="view_hr_evaluation_interview_tree">
299             <field name="name">hr_evaluation.interview.tree</field>
300             <field name="model">hr.evaluation.interview</field>
301             <field name="type">tree</field>
302             <field name="arch" type="xml">
303                 <tree string="Interview Evaluation">
304                     <field name="date_deadline" string="Deadline Date"/>
305                     <field name="survey_id"/>
306                     <field name="user_id" string="Interviewer"/>
307                     <field name="user_to_review_id"/>
308                     <field name="response" readonly="1" invisible="True"/>
309                     <button name="%(survey.action_view_survey_question_message)d" string="Interview Question" 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)]}"/>
310                     <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)]}" />
311                     <field name="state"/>
312                 </tree>
313             </field>
314         </record>
315
316        <record id="view_hr_evaluation_interview_search" model="ir.ui.view">
317             <field name="name">view_hr_evaluation_interview_search</field>
318             <field name="model">hr.evaluation.interview</field>
319             <field name="type">search</field>
320             <field name="arch" type="xml">
321                 <search string="Search Evaluation">
322                    <group col='10' colspan='4'>
323                         <filter icon="terp-gtk-go-back-rtl" string="To Do" name="todo" domain="[('state','=','waiting_answer')]"/>
324                         <separator orientation="vertical"/>
325                         <filter icon="terp-gnome-cpu-frequency-applet+" string="Late" domain="[('date_deadline','&lt;',current_date)]"/>
326                         <separator orientation="vertical"/>
327                         <field name="user_to_review_id"/>
328                         <field name="user_id" string="Interviewer"/>
329                    </group>
330                    <newline/>
331                     <group expand="0" string="Group By...">
332                         <filter string="Interviewer" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
333                         <separator orientation="vertical"/>
334                         <filter string="Survey" icon="terp-stock_align_left_24" domain="[]" context="{'group_by':'survey_id'}"/>
335                         <separator orientation="vertical"/>
336                         <filter string="State" name="group_state" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
337                     </group>
338                </search>
339             </field>
340         </record>
341
342         <record id="view_evaluation_calendar" model="ir.ui.view">
343             <field name="name">Interview Request</field>
344             <field name="model">hr.evaluation.interview</field>
345             <field name="type">calendar</field>
346             <field name="arch" type="xml">
347                 <calendar string="Interview Request" color="user_to_review_id" date_start="date_deadline">
348                         <field name="request_id"/>
349                 </calendar>
350             </field>
351         </record>
352
353         <record model="ir.actions.act_window" id="action_hr_evaluation_interview_tree">
354             <field name="name">Interview Requests</field>
355             <field name="res_model">hr.evaluation.interview</field>
356             <field name="view_type">form</field>
357             <field name="view_id" ref="view_hr_evaluation_interview_form"/>
358             <field name="domain">[('is_evaluation' ,'=', True)]</field>
359             <field name="context">{"search_default_todo":1,"search_default_user_id":uid}</field>
360             <field name="search_view_id" ref="view_hr_evaluation_interview_search"/>
361             <field name="help">Interview Requests are generated automatically by OpenERP according to employees evaluation plan. Each user receives automatic emails and requests to perform evaluation of their collegues periodically.</field>
362         </record>
363
364         <record model="ir.actions.act_window.view" id="hr_evaluation_interview_tree">
365             <field name="sequence" eval="1"/>
366             <field name="view_mode">tree</field>
367             <field name="view_id" ref="view_hr_evaluation_interview_tree"/>
368             <field name="act_window_id" ref="action_hr_evaluation_interview_tree"/>
369         </record>
370         <record model="ir.actions.act_window.view" id="hr_evaluation_interview_form">
371             <field name="sequence" eval="2"/>
372             <field name="view_mode">form</field>
373             <field name="view_id" ref="view_hr_evaluation_interview_form"/>
374             <field name="act_window_id" ref="action_hr_evaluation_interview_tree"/>
375         </record>
376         <record model="ir.actions.act_window.view" id="action_view_evaluation_calendar">
377             <field name="sequence" eval="3"/>
378             <field name="view_mode">calendar</field>
379             <field name="view_id" ref="view_evaluation_calendar"/>
380             <field name="act_window_id" ref="action_hr_evaluation_interview_tree"/>
381         </record>
382
383         <menuitem name="Interview Requests" parent="menu_eval_hr" id="menu_open_hr_evaluation_interview_requests"
384             action="action_hr_evaluation_interview_tree"/>
385         <menuitem name="Evaluation Reminders" parent="menu_eval_hr" id="menu_eval_send_mail"
386            action="action_hr_evaluation_send_mail" sequence="45" groups="base.group_hr_manager"/>
387
388       <!-- Evaluation Interviews Button on Employee Form -->
389       <act_window 
390       context="{'search_default_user_to_review_id': [active_id]}"
391       id="act_hr_employee_2_hr__evaluation_interview" 
392       name="Evaluation Interviews" 
393       res_model="hr.evaluation.interview" 
394       src_model="hr.employee"/>
395
396     </data>
397 </openerp>