430 lines
25 KiB
XML
430 lines
25 KiB
XML
<?xml version="1.0" ?>
|
|
<openerp>
|
|
<data>
|
|
|
|
<record id="view_hr_evaluation_plan_search" model="ir.ui.view">
|
|
<field name="name">hr_evaluation.plan.search</field>
|
|
<field name="model">hr_evaluation.plan</field>
|
|
<field name="arch" type="xml">
|
|
<search string="Appraisal Plan">
|
|
<field name="name" string="Appraisal Plans"/>
|
|
<field name="company_id" groups="base.group_multi_company"/>
|
|
<group expand="0" string="Group By..." groups="base.group_multi_company">
|
|
<filter string="Company" icon="terp-go-home" domain="[]" context="{'group_by':'company_id'}"/>
|
|
</group>
|
|
</search>
|
|
</field>
|
|
</record>
|
|
|
|
<record model="ir.ui.view" id="view_hr_evaluation_plan_form">
|
|
<field name="name">hr_evaluation.plan.form</field>
|
|
<field name="model">hr_evaluation.plan</field>
|
|
<field name="arch" type="xml">
|
|
<form string="Appraisal Plan" version="7.0">
|
|
<group col="4">
|
|
<group>
|
|
<field name="name"/>
|
|
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
|
|
<field name="active"/>
|
|
</group>
|
|
<group>
|
|
<field name="month_first"/>
|
|
<field name="month_next"/>
|
|
</group>
|
|
</group>
|
|
<notebook>
|
|
<page string="Appraisal Phases">
|
|
<field name="phase_ids"/>
|
|
</page>
|
|
</notebook>
|
|
</form>
|
|
</field>
|
|
</record>
|
|
<record model="ir.ui.view" id="view_hr_evaluation_plan_tree">
|
|
<field name="name">hr_evaluation.plan.form</field>
|
|
<field name="model">hr_evaluation.plan</field>
|
|
<field name="arch" type="xml">
|
|
<tree string="Appraisal Plan">
|
|
<field name="name"/>
|
|
<field name="month_first"/>
|
|
<field name="month_next"/>
|
|
<field name="company_id" groups="base.group_multi_company"/>
|
|
</tree>
|
|
</field>
|
|
</record>
|
|
<record model="ir.actions.act_window" id="open_view_hr_evaluation_plan_tree">
|
|
<field name="name">Appraisal Plans</field>
|
|
<field name="res_model">hr_evaluation.plan</field>
|
|
<field name="view_type">form</field>
|
|
<field name="view_mode">tree,form</field>
|
|
</record>
|
|
|
|
<!-- Appraisal Interviews Action -->
|
|
|
|
<record id="act_hr_employee_2_hr__evaluation_interview" model="ir.actions.act_window">
|
|
<field name="res_model">hr.evaluation.interview</field>
|
|
<field name="view_type">form</field>
|
|
<field name="name">Interviews</field>
|
|
<field name="view_mode">tree,form</field>
|
|
<field name="context">{'search_default_user_to_review_id': [active_id], 'default_user_to_review_id': active_id}</field>
|
|
</record>
|
|
|
|
<menuitem name="Appraisal" parent="hr.menu_hr_root" id="menu_eval_hr" sequence="25"/>
|
|
<menuitem name="Periodic Appraisal" parent="hr.menu_hr_configuration" id="menu_eval_hr_config" sequence="4"/>
|
|
<menuitem parent="hr.menu_hr_configuration" id="menu_open_view_hr_evaluation_plan_tree"
|
|
action="open_view_hr_evaluation_plan_tree" sequence="15"/>
|
|
|
|
<record model="ir.ui.view" id="view_hr_evaluation_plan_phase_form">
|
|
<field name="name">hr_evaluation.plan.phase.form</field>
|
|
<field name="model">hr_evaluation.plan.phase</field>
|
|
<field name="arch" type="xml">
|
|
<form string="Appraisal Plan Phases" version="7.0">
|
|
<notebook>
|
|
<page string="General">
|
|
<group>
|
|
<field name="plan_id" invisible="1"/>
|
|
<group>
|
|
<group>
|
|
<field name="name"/>
|
|
<field name="wait"/>
|
|
<field name="sequence"/>
|
|
</group>
|
|
<group>
|
|
<separator string="Action to Perform" colspan="4"/>
|
|
<field name="action"/>
|
|
<field name="survey_id" domain="[('state','=','open')]"/>
|
|
</group>
|
|
<group string="Send to Managers">
|
|
<field name="send_answer_manager"/>
|
|
<field name="send_anonymous_manager"/>
|
|
</group><group string="Send to Employees">
|
|
<field name="send_answer_employee"/>
|
|
<field name="send_anonymous_employee"/>
|
|
</group>
|
|
</group>
|
|
</group>
|
|
</page>
|
|
<page string="Mail Settings">
|
|
<field name="mail_feature"/>
|
|
<separator string="Mail Body"/>
|
|
<field name="mail_body"/>
|
|
<group string="Legend">
|
|
<label string=" (employee_name)s: Partner name"/>
|
|
<label string="(user_signature)s: User name"/>
|
|
<label string="(date)s: Current Date"/>
|
|
<label string="(eval_name)s:Appraisal Name"/>
|
|
</group>
|
|
</page>
|
|
</notebook>
|
|
</form>
|
|
</field>
|
|
</record>
|
|
<record model="ir.ui.view" id="view_hr_evaluation_plan_phase_tree">
|
|
<field name="name">hr_evaluation.plan.phase.form</field>
|
|
<field name="model">hr_evaluation.plan.phase</field>
|
|
<field name="arch" type="xml">
|
|
<tree string="Appraisal Plan Phases" editable="bottom" >
|
|
<field name="sequence"/>
|
|
<field name="name"/>
|
|
<field name="action"/>
|
|
<field name="survey_id"/>
|
|
<field name="wait"/>
|
|
</tree>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="hr_hr_employee_view_form" model="ir.ui.view">
|
|
<field name="name">hr.hr.employee.view.form</field>
|
|
<field name="model">hr.employee</field>
|
|
<field name="inherit_id" ref="hr.view_employee_form"/>
|
|
<field name="arch" type="xml">
|
|
<xpath expr="//group[@name='active_group']" position="before">
|
|
<group string="Appraisals">
|
|
<field name="evaluation_plan_id" on_change="onchange_evaluation_plan_id(evaluation_plan_id, evaluation_date)"/>
|
|
<field name="evaluation_date"/>
|
|
</group>
|
|
</xpath>
|
|
<xpath expr="//div[@name='button_box']" position="inside">
|
|
<button name="%(act_hr_employee_2_hr__evaluation_interview)d" string="Appraisal Interviews" type="action"/>
|
|
</xpath>
|
|
</field>
|
|
</record>
|
|
|
|
<record model="ir.ui.view" id="view_hr_evaluation_form">
|
|
<field name="name">hr_evaluation.evaluation.form</field>
|
|
<field name="model">hr_evaluation.evaluation</field>
|
|
<field name="arch" type="xml">
|
|
<form string="Appraisal" version="7.0">
|
|
<header>
|
|
<button name="button_plan_in_progress" string="Start Appraisal" states="draft" type="object" class="oe_highlight"/>
|
|
<button name="button_final_validation" string="Validate Appraisal" states="wait" type="object" class="oe_highlight"/>
|
|
<button name="button_done" string="Done" states="progress" type="object" class="oe_highlight"/>
|
|
<button name="button_draft" string="Reset to Draft" states="cancel" type="object" />
|
|
<button name="button_cancel" string="Cancel" states="draft,wait,progress" type="object"/>
|
|
<field name="state" widget="statusbar" statusbar_visible="draft,progress,wait,done" statusbar_colors='{"progress":"blue"}'/>
|
|
</header>
|
|
<sheet>
|
|
<label for="employee_id" class="oe_edit_only"/>
|
|
<h1><field name="employee_id" on_change="onchange_employee_id(employee_id)" class="oe_inline"/>, <field name="date" class="oe_inline"/></h1>
|
|
<label for="plan_id" class="oe_edit_only"/>
|
|
<h2><field name="plan_id"/></h2>
|
|
<group>
|
|
<group colspan="4" attrs="{'invisible':['|', ('state','=','draft'), ('state', '=', 'wait')]}">
|
|
<field name="rating" attrs="{'readonly':[('state','<>','progress')]}"/>
|
|
<field name="date_close" readonly="1"/>
|
|
</group>
|
|
</group>
|
|
<group string="Appraisal Forms" attrs="{'invisible':[('state','=','draft')]}">
|
|
<field nolabel="1" name="survey_request_ids">
|
|
<form string="Interview Appraisal" version="7.0">
|
|
<div class="oe_right oe_button_box">
|
|
<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)]}"/>
|
|
<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)]}" />
|
|
</div>
|
|
<group>
|
|
<group>
|
|
<field name="survey_id"/>
|
|
<field name="user_to_review_id"/>
|
|
<field name="user_id" string="Interviewer"/>
|
|
</group>
|
|
<group>
|
|
<field name="date_deadline"/>
|
|
<field name="response" readonly="1"/>
|
|
</group>
|
|
</group>
|
|
<group col="4" string="Status" invisible="1">
|
|
<field name="state"/>
|
|
<div>
|
|
<button string="Done" name="survey_req_done" states="waiting_answer" type="object" icon="gtk-jump-to" />
|
|
</div>
|
|
</group>
|
|
</form>
|
|
</field>
|
|
</group>
|
|
<group string="Internal Notes" attrs="{'invisible':[('state','=','draft')]}">
|
|
<field nolabel="1" name="note_action"
|
|
groups="base.group_hr_manager" placeholder="Appraisal Summary..."/>
|
|
</group>
|
|
<group string="Public Notes" attrs="{'invisible':[('state','=','draft')]}">
|
|
<field nolabel="1" name="note_summary" placeholder="Action Plan..."/>
|
|
</group>
|
|
</sheet>
|
|
<div class="oe_chatter">
|
|
<field name="message_ids" widget="mail_thread"/>
|
|
<field name="message_follower_ids" widget="mail_followers"/>
|
|
</div>
|
|
</form>
|
|
</field>
|
|
</record>
|
|
|
|
<record model="ir.ui.view" id="view_hr_evaluation_tree">
|
|
<field name="name">hr_evaluation.evaluation.tree</field>
|
|
<field name="model">hr_evaluation.evaluation</field>
|
|
<field name="arch" type="xml">
|
|
<tree colors="blue:state == 'draft';black:state in ('wait','progress');gray:state in('done','cancel')" string="Appraisal">
|
|
<field name="employee_id"/>
|
|
<field name="plan_id"/>
|
|
<field name="date"/>
|
|
<!--field name="progress" widget="progressbar"/-->
|
|
<field name="rating"/>
|
|
<field name="state"/>
|
|
</tree>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="hr_evaluation.evaluation_search" model="ir.ui.view">
|
|
<field name="name">hr_evaluation.evaluation_search</field>
|
|
<field name="model">hr_evaluation.evaluation</field>
|
|
<field name="arch" type="xml">
|
|
<search string="Search Appraisal">
|
|
<field name="date"/>
|
|
<filter icon="terp-check" string="Pending" domain="[('state','=','wait')]" help="Appraisal that are in Plan In Progress state"/>
|
|
<filter icon="terp-camera_test" string="In progress" domain="[('state','=','progress')]" help="Appraisal that are in waiting appreciation state"/>
|
|
<field name="employee_id" />
|
|
<field name="plan_id"/>
|
|
<group expand='0' string='Group by...'>
|
|
<filter string='Employee' icon="terp-personal" domain="[]" context="{'group_by' : 'employee_id'}" />
|
|
<filter string='Plan' icon="terp-stock_align_left_24" domain="[]" context="{'group_by' : 'plan_id'}" />
|
|
<filter string='Status' icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by' : 'state'}" />
|
|
<filter string='Date' icon="terp-go-month" domain="[]" context="{'group_by' : 'date'}" />
|
|
</group>
|
|
</search>
|
|
</field>
|
|
</record>
|
|
|
|
<record model="ir.actions.act_window" id="open_view_hr_evaluation_tree">
|
|
<field name="name">Appraisal</field>
|
|
<field name="res_model">hr_evaluation.evaluation</field>
|
|
<field name="view_type">form</field>
|
|
<field name="view_mode">tree,form</field>
|
|
<field name="search_view_id" ref="hr_evaluation.evaluation_search"/>
|
|
<field name="context">{"search_default_next_month":1}</field>
|
|
<field name="help" type="html">
|
|
<p class="oe_view_nocontent_create">
|
|
Click to create a new appraisal.
|
|
</p><p>
|
|
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.
|
|
</p>
|
|
</field>
|
|
</record>
|
|
|
|
<menuitem name="Appraisals" parent="menu_eval_hr" id="menu_open_view_hr_evaluation_tree"
|
|
action="open_view_hr_evaluation_tree" groups="base.group_hr_user"/>
|
|
|
|
<record model="ir.ui.view" id="view_hr_evaluation_interview_form">
|
|
<field name="name">hr_evaluation.interview.form</field>
|
|
<field name="model">hr.evaluation.interview</field>
|
|
<field name="arch" type="xml">
|
|
<form string="Interview Appraisal" version="7.0">
|
|
<header>
|
|
<button string="Cancel" name="survey_req_cancel" type="object"
|
|
states="draft,waiting_answer"/>
|
|
<button string="Print Survey" name="action_print_survey" type="object"
|
|
states="draft" context="{'survey_id': survey_id, 'response_id': [response], 'response_no':0}"
|
|
attrs="{'readonly':[('survey_id','=',False)]}" class="oe_highlight"/>
|
|
<button string="Send Request" name="survey_req_waiting_answer" type="object"
|
|
states="draft" class="oe_highlight"/>
|
|
<button string="Answer Survey" name="%(survey.action_view_survey_question_message)d" type="action"
|
|
states="waiting_answer"
|
|
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)]}"/>
|
|
<button string="Done" name="survey_req_done" type="object"
|
|
states="waiting_answer"/>
|
|
<field name="state" widget="statusbar" statusbar_visible="waiting_answer,done"/>
|
|
</header>
|
|
<sheet>
|
|
<div class="oe_right oe_button_box" name="button_box">
|
|
<button string="Send Reminder Email" name="%(mail.action_email_compose_message_wizard)d" type="action"
|
|
states="waiting_answer"
|
|
context="{'default_body_text': 'Hello,\n\nKindly post your response for the survey interview.\n\nThanks',
|
|
'default_subject': 'Reminder to fill up Survey' }"/>
|
|
</div>
|
|
<group>
|
|
<group col="3" colspan="1">
|
|
<field name="survey_id"/>
|
|
<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"/>
|
|
<field name="user_to_review_id"/>
|
|
<label string=""/>
|
|
<field name="user_id" string="Interviewer"/>
|
|
</group>
|
|
<group>
|
|
<field name="date_deadline"/>
|
|
<field name="response" readonly="1"/>
|
|
<field name="evaluation_id" string="Appraisal Plan"/>
|
|
</group>
|
|
</group>
|
|
</sheet>
|
|
</form>
|
|
</field>
|
|
</record>
|
|
|
|
<record model="ir.ui.view" id="view_hr_evaluation_interview_tree">
|
|
<field name="name">hr_evaluation.interview.tree</field>
|
|
<field name="model">hr.evaluation.interview</field>
|
|
<field name="arch" type="xml">
|
|
<tree string="Interview Appraisal">
|
|
<field name="date_deadline" string="Deadline Date"/>
|
|
<field name="survey_id"/>
|
|
<field name="user_id" string="Interviewer"/>
|
|
<field name="user_to_review_id"/>
|
|
<field name="response" readonly="1" invisible="True"/>
|
|
<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)]}"/>
|
|
<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)]}"/>
|
|
<button name="%(mail.action_email_compose_message_wizard)d" string="Send Reminder Email" icon="terp-mail-message-new" type="action" states="waiting_answer"/>
|
|
<field name="state"/>
|
|
<button string="Send Request" name="survey_req_waiting_answer" states="draft" type="object" icon="gtk-yes" />
|
|
<button string="Done" name="survey_req_done" states="waiting_answer" type="object" icon="gtk-jump-to" />
|
|
</tree>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="view_hr_evaluation_interview_search" model="ir.ui.view">
|
|
<field name="name">view_hr_evaluation_interview_search</field>
|
|
<field name="model">hr.evaluation.interview</field>
|
|
<field name="arch" type="xml">
|
|
<search string="Search Appraisal">
|
|
<field name="date_deadline"/>
|
|
<filter icon="terp-gtk-go-back-rtl" string="To Do" name="todo" domain="[('state','=','waiting_answer')]"/>
|
|
<field name="user_to_review_id"/>
|
|
<field name="user_id" string="Interviewer"/>
|
|
<group expand="0" string="Group By...">
|
|
<filter string="Interviewer" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
|
|
<filter string="Survey" icon="terp-stock_align_left_24" domain="[]" context="{'group_by':'survey_id'}"/>
|
|
<filter string="Status" name="group_state" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
|
|
</group>
|
|
</search>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="view_evaluation_calendar" model="ir.ui.view">
|
|
<field name="name">Interview Requests</field>
|
|
<field name="model">hr.evaluation.interview</field>
|
|
<field name="arch" type="xml">
|
|
<calendar string="Interview Request" color="user_to_review_id" date_start="date_deadline">
|
|
<field name="request_id"/>
|
|
</calendar>
|
|
</field>
|
|
</record>
|
|
|
|
<record model="ir.actions.act_window" id="action_hr_evaluation_interview_tree">
|
|
<field name="name">Interview Requests</field>
|
|
<field name="res_model">hr.evaluation.interview</field>
|
|
<field name="view_type">form</field>
|
|
<field name="view_id" eval="False"/>
|
|
<field name="domain">[('is_evaluation' ,'=', True)]</field>
|
|
<field name="context">{'default_is_evaluation': True, "search_default_todo":1,"search_default_user_id":uid}</field>
|
|
<field name="search_view_id" ref="view_hr_evaluation_interview_search"/>
|
|
<field name="help" type="html">
|
|
<p class="oe_view_nocontent_create">
|
|
Click to create a new interview request related to a personnal evaluation.
|
|
</p><p>
|
|
Interview requests are usually generated automatically by
|
|
OpenERP according to an employee's appraisal plan. Each user
|
|
receives automatic emails and requests to evaluate their
|
|
colleagues periodically.
|
|
</p>
|
|
</field>
|
|
</record>
|
|
|
|
<record model="ir.actions.act_window.view" id="hr_evaluation_interview_tree">
|
|
<field name="sequence" eval="1"/>
|
|
<field name="view_mode">tree</field>
|
|
<field name="view_id" ref="view_hr_evaluation_interview_tree"/>
|
|
<field name="act_window_id" ref="action_hr_evaluation_interview_tree"/>
|
|
</record>
|
|
<record model="ir.actions.act_window.view" id="hr_evaluation_interview_form">
|
|
<field name="sequence" eval="2"/>
|
|
<field name="view_mode">form</field>
|
|
<field name="view_id" ref="view_hr_evaluation_interview_form"/>
|
|
<field name="act_window_id" ref="action_hr_evaluation_interview_tree"/>
|
|
</record>
|
|
<record model="ir.actions.act_window.view" id="action_view_evaluation_calendar">
|
|
<field name="sequence" eval="3"/>
|
|
<field name="view_mode">calendar</field>
|
|
<field name="view_id" ref="view_evaluation_calendar"/>
|
|
<field name="act_window_id" ref="action_hr_evaluation_interview_tree"/>
|
|
</record>
|
|
|
|
<menuitem name="Interview Requests" parent="menu_eval_hr" id="menu_open_hr_evaluation_interview_requests"
|
|
action="action_hr_evaluation_interview_tree"/>
|
|
|
|
<!-- Email Compose message Action-->
|
|
<act_window
|
|
id="evaluation_reminders" name="Appraisal Reminders"
|
|
res_model="mail.compose.message"
|
|
src_model="hr.evaluation.interview"
|
|
view_type="form" view_mode="form"
|
|
target="new" multi="True"
|
|
key2="client_action_multi"
|
|
context="{'default_composition_mode': 'mass_mail',
|
|
'default_body_text': 'Hello,\n\nKindly post your response for the survey interview.\n\nThanks',
|
|
'default_subject': 'Reminder to fill up Survey'}"/>
|
|
|
|
</data>
|
|
</openerp>
|