Files
odoo_source/addons/hr_evaluation/hr_evaluation_view.xml
T
Yannick Tivisse c210cd3e3b [IMP] Reorganize menuitem into coherent block instead of ordering
them alphabetically
Bloc Simple apps
1 Chat
2 Agenda
3 Notes
4 Contacts

Bloc Sales apps
5 Sales
10 Lead Automation
15 Members
20 Point of Sale
25 Purchases

Bloc Operation apps
30 Warehouse
35 Manufacturing

Bloc Accounting app
40 Accouting/Invoicing
45 Payroll

Bloc Project
50 Project
55 Timesheets

Bloc Marketing
60 Mass Mailing
65 Events
70 Surveys

Block HR
75 Employees
80 Recruitment
85 Appraisal
90 Attendances
95 Leaves
100 Expenses
105 Lunch
110 Equipments
115 Fleet

Bloc Website
200 Website
205 Live Chat
210 Versionning
215 Website Admin

Bloc Settings
300 Knowledge (Hidden if not base.group_configuration)
305 Dashboards
310 Modules
500 Settings
2015-05-27 15:24:14 +02:00

441 lines
24 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">
<sheet>
<group col="4">
<group>
<field name="name"/>
<field name="company_id" options="{'no_create': True}" 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>
</sheet>
</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" id="menu_hr_evaluation_root" sequence="85"/>
<menuitem name="Periodic Appraisal" parent="hr.menu_hr_configuration" id="menu_eval_hr_config" sequence="4" groups="base.group_hr_manager"/>
<menuitem name="Configuration" id="menu_hr_evaluation_configuration" sequence="100" parent="menu_hr_evaluation_root" groups="base.group_configuration"/>
<menuitem parent="menu_hr_evaluation_configuration" id="menu_open_view_hr_evaluation_plan_tree"
action="open_view_hr_evaluation_plan_tree" sequence="5" groups="base.group_hr_manager"/>
<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">
<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"/>
</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" widget="handle"/>
<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"/>
<field name="evaluation_date"/>
</group>
</xpath>
<xpath expr="//div[@name='button_box']" position="inside">
<button name="%(act_hr_employee_2_hr__evaluation_interview)d"
class="oe_stat_button"
icon="fa-sitemap"
type="action">
<field name="appraisal_count" widget="statinfo" string="Appraisals"/>
</button>
</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">
<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 Appraisal" 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" class="oe_inline" attrs="{'readonly': [('state', '=', 'done')]}" on_change="onchange_employee_id(employee_id)"/>
<field name="date" attrs="{'readonly': [('state', '=', 'done')]}"/>
</h1>
<label for="plan_id" class="oe_edit_only"/>
<h2><field name="plan_id" attrs="{'readonly': [('state', '=', 'done')]}"/></h2>
<group>
<group colspan="4" attrs="{'invisible':['|', ('state','=','draft'), ('state', '=', 'wait')]}">
<field name="rating" attrs="{'readonly':[('state','&lt;&gt;','progress')]}"/>
<field name="date_close" readonly="1"/>
</group>
</group>
<group string="Appraisal Forms" attrs="{'invisible':[('state','=','draft')]}">
<field nolabel="1" name="survey_request_ids" attrs="{'readonly': [('state', '=', 'done')]}" />
</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_follower_ids" widget="mail_followers"/>
<field name="message_ids" widget="mail_thread"/>
</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 decoration-info="state == 'draft'" decoration-muted="state in('done','cancel')" string="Appraisal"
decoration-bf="message_unread == True">
<field name="employee_id"/>
<field name="plan_id"/>
<field name="date"/>
<field name="rating"/>
<field name="state"/>
<field name="message_unread" invisible="1"/>
</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"/>
<field name="employee_id"/>
<field name="plan_id"/>
<field name="state"/>
<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"/>
<separator/>
<filter string="New Mail" name="message_unread" domain="[('message_unread','=',True)]"/>
<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='Appraisals Month' icon="terp-go-month" domain="[]" context="{'group_by' : 'date'}" help="Appraisals by Month" />
</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. Odoo manages all kinds of
evaluations: bottom-up, top-down, self-evaluation and final
evaluation by the manager.
</p>
</field>
</record>
<menuitem name="Appraisals" parent="menu_hr_evaluation_root" 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">
<header>
<button string="Cancel Survey" name="survey_req_cancel" type="object"
states="draft,waiting_answer" class="oe_left"/>
<button string="Print Survey" name="action_print_survey" type="object" states='waiting_answer,done' attrs="{'readonly':[('survey_id','=',False)]}"/>
<button string="Send Request" name="survey_req_waiting_answer" type="object"
states="draft" class="oe_highlight"/>
<button string="Answer Survey" class="oe_highlight" name="action_start_survey" type="object" states='waiting_answer' attrs="{'readonly':[('request_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': 'Hello,\n\nKindly post your response for the survey interview.\n\nThanks',
'default_subject': 'Reminder to fill up Survey' }"/>
</div>
<group>
<group>
<field name="evaluation_id" string="Appraisal"/>
<field name="phase_id"/>
<field name="user_to_review_id" readonly="1"/>
</group>
<group>
<field name="user_id" string="Interviewer" context="{'default_groups_ref': ['base.group_user', 'base.group_partner_manager', 'base.group_hr_manager']}"/>
<field name="deadline"/>
</group>
<group>
<field name="request_id"/>
<field name="survey_id" domain="[('res_model','=','hr_evaluation')]" readonly="1"/>
</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" decoration-bf="message_unread == True">
<field name="deadline" string="Deadline Date"/>
<field name="survey_id" domain="[('res_model','=','hr_evaluation')]"/>
<field name="user_id" string="Interviewer"/>
<field name="user_to_review_id"/>
<field name="request_id" readonly="1" invisible="True"/>
<button name="action_start_survey" string="Answer Survey" type="object" icon="gtk-execute" attrs="{'readonly':[('request_id','=',False)]}"/>
<button name="action_print_survey" string="Print Survey" type="object" icon="gtk-print" 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"/>
<field name="message_unread" invisible="1"/>
<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="user_to_review_id"/>
<field name="user_id" string="Interviewer"/>
<field name="deadline"/>
<field name="state"/>
<filter icon="terp-gtk-go-back-rtl" string="To Do" name="todo" domain="[('state','=','waiting_answer')]"/>
<separator/>
<filter string="New Mail" name="message_unread" domain="[('message_unread','=',True)]"/>
<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">Interviews</field>
<field name="model">hr.evaluation.interview</field>
<field name="arch" type="xml">
<calendar string="Interview Request" color="user_to_review_id" date_start="deadline">
<field name="request_id"/>
</calendar>
</field>
</record>
<record model="ir.actions.act_window" id="action_hr_evaluation_interview_tree">
<field name="name">Interviews</field>
<field name="res_model">hr.evaluation.interview</field>
<field name="view_type">form</field>
<field name="view_id" eval="False"/>
<field name="domain" eval="False"/> <!-- Force empty -->
<field name="context">{"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 personal evaluation.
</p><p>
Interview requests are usually generated automatically by
Odoo 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="Interviews" parent="menu_hr_evaluation_root" 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': 'Hello,\n\nKindly post your response for the survey interview.\n\nThanks',
'default_subject': 'Reminder to fill up Survey'}"/>
<record id="hr_evaluation_interview_action_from_department" model="ir.actions.act_window">
<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="context">{'search_default_state': 'waiting_answer'}</field>
<field name="domain">[('user_to_review_id.department_id', '=', active_id)]</field>
<field name="search_view_id" ref="view_hr_evaluation_interview_search"/>
</record>
<record id="hr_appraisal_action_from_department" model="ir.actions.act_window">
<field name="name">Appraisal to start</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_state': 'draft'}</field>
<field name="domain">[('employee_id.department_id', '=', active_id)]</field>
</record>
</data>
</openerp>