14 changed files with 202 additions and 664 deletions
@ -1,29 +0,0 @@ |
|||||
<?xml version="1.0" encoding="utf-8"?> |
|
||||
<odoo> |
|
||||
<data> |
|
||||
<record id="hr_payslip_rule_warning" model="hr.salary.rule"> |
|
||||
<field name="code">SWR</field> |
|
||||
<field name="name">Warning Amount</field> |
|
||||
<field name="category_id" ref="hr_payroll.DED"/> |
|
||||
<field name="amount_select">code</field> |
|
||||
<field name="amount_python_compute">result = -(payslip.warning_amount)</field> |
|
||||
<field name="appears_on_payslip" eval="True"/> |
|
||||
<field name="sequence" eval="190"/> |
|
||||
</record> |
|
||||
|
|
||||
<record id="hr_payslip_rule_reward" model="hr.salary.rule"> |
|
||||
<field name="code">SRR</field> |
|
||||
<field name="name">Reward</field> |
|
||||
<field name="category_id" ref="hr_payroll.ALW"/> |
|
||||
<field name="amount_select">code</field> |
|
||||
<field name="amount_python_compute">result = payslip.reward_amount</field> |
|
||||
<field name="appears_on_payslip" eval="True"/> |
|
||||
<field name="sequence" eval="190"/> |
|
||||
</record> |
|
||||
|
|
||||
<record id="hr_payroll.structure_base" model="hr.payroll.structure"> |
|
||||
<field eval="[(4, ref('hr_payslip_rule_warning')), (4, ref('hr_payslip_rule_reward'))]" |
|
||||
name="rule_ids"/> |
|
||||
</record> |
|
||||
</data> |
|
||||
</odoo> |
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,24 +0,0 @@ |
|||||
<?xml version="1.0" encoding="utf-8" ?> |
|
||||
<odoo> |
|
||||
<data> |
|
||||
<template id="reward_warning_letter"> |
|
||||
<t t-call="web.html_container"> |
|
||||
<t t-foreach="docs" t-as="obj"> |
|
||||
<t t-call="web.external_layout"> |
|
||||
<div class="page"> |
|
||||
<t t-raw="obj.letter"/> |
|
||||
</div> |
|
||||
</t> |
|
||||
</t> |
|
||||
</t> |
|
||||
</template> |
|
||||
<report |
|
||||
string="Letter" |
|
||||
id="reward_letter" |
|
||||
model="hr.reward.warning" |
|
||||
report_type="qweb-pdf" |
|
||||
name="hr_reward_warning.reward_warning_letter" |
|
||||
file="hr_reward_warning.reward_warning_letter" |
|
||||
/> |
|
||||
</data> |
|
||||
</odoo> |
|
|
@ -0,0 +1,138 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||
|
<odoo> |
||||
|
<data> |
||||
|
|
||||
|
<record id="announcement_seq" model="ir.sequence"> |
||||
|
<field name="name">Announcement</field> |
||||
|
<field name="code">hr.announcement</field> |
||||
|
<field name="prefix">GA</field> |
||||
|
<field eval="4" name="padding" /> |
||||
|
</record> |
||||
|
|
||||
|
<record id="view_hr_announcement_form" model="ir.ui.view"> |
||||
|
<field name="name">hr.announcement.form</field> |
||||
|
<field name="model">hr.announcement</field> |
||||
|
<field name="arch" type="xml"> |
||||
|
<form string="Announcements"> |
||||
|
<header> |
||||
|
<button string="Send For Approval" type="object" name="sent" groups="hr.group_hr_user" |
||||
|
attrs="{'invisible': [('state','not in',('draft'))]}"/> |
||||
|
<button string="Approve" groups="hr.group_hr_manager" type="object" name="approve" |
||||
|
attrs="{'invisible': [('state','not in',('to_approve'))]}"/> |
||||
|
<button string="Refuse" class="btn-primary" groups="hr.group_hr_manager" type="object" |
||||
|
name="reject" states="to_approve"/> |
||||
|
<button string="Set to Done" type="object" name="set_to_done" groups="hr.group_hr_user" |
||||
|
attrs="{'invisible': ['|',('state','not in',('approved', 'done')), |
||||
|
('is_announcement','=',False)]}"/> |
||||
|
<field name="state" widget="statusbar" statusbar_visible="draft,to_approve,approved,done"/> |
||||
|
</header> |
||||
|
<sheet> |
||||
|
<label for="is_announcement"/> |
||||
|
<div> |
||||
|
<field name="is_announcement"/> |
||||
|
</div> |
||||
|
<h1> |
||||
|
<label for="name"/> |
||||
|
<div> |
||||
|
<field name="name" class="oe_inline" readonly="1"/> |
||||
|
</div> |
||||
|
</h1> |
||||
|
<group> |
||||
|
<label for="announcement_reason"/> |
||||
|
<div> |
||||
|
<field name="announcement_reason"/> |
||||
|
</div> |
||||
|
</group> |
||||
|
<group> |
||||
|
<group> |
||||
|
<field name="attachment_id" widget="many2many_binary" class="oe_inline"/> |
||||
|
</group> |
||||
|
<group> |
||||
|
<field name="requested_date" readonly="1"/> |
||||
|
<field name="company_id" options="{'no_create': True}" groups="base.group_multi_company"/> |
||||
|
</group> |
||||
|
</group> |
||||
|
<notebook> |
||||
|
<page name="announcement" string="Letter"> |
||||
|
<field name="announcement"/> |
||||
|
</page> |
||||
|
</notebook> |
||||
|
</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 id="view_hr_announcement_tree" model="ir.ui.view"> |
||||
|
<field name="name">hr.announcement.tree</field> |
||||
|
<field name="model">hr.announcement</field> |
||||
|
<field name="arch" type="xml"> |
||||
|
<tree decoration-info="state == 'draft'" colors="grey:state == 'rejected';green:state == 'approved';red:state == 'to_approve';"> |
||||
|
<field name="name"/> |
||||
|
<field name="announcement_reason"/> |
||||
|
<field name="state"/> |
||||
|
</tree> |
||||
|
</field> |
||||
|
</record> |
||||
|
|
||||
|
<record id="view_hr_announcement_search" model="ir.ui.view"> |
||||
|
<field name="name">hr.announcement.search</field> |
||||
|
<field name="model">hr.announcement</field> |
||||
|
<field name="arch" type="xml"> |
||||
|
<search string="Announcements"> |
||||
|
<field name="name"/> |
||||
|
<field name="is_announcement"/> |
||||
|
<field name="announcement_reason"/> |
||||
|
<field name="state"/> |
||||
|
<separator/> |
||||
|
<filter name="approved_rewards" string="Approved Letters" domain="[('state', '=', 'approved')]"/> |
||||
|
<filter name="general_announcements" string="General Announcements" domain="[('is_announcement', '=',True)]"/> |
||||
|
<group expand="0" string="Group By"> |
||||
|
<filter string="Status" domain="[]" context="{'group_by':'state'}"/> |
||||
|
</group> |
||||
|
</search> |
||||
|
</field> |
||||
|
</record> |
||||
|
|
||||
|
<record id="action_hr_announcement" model="ir.actions.act_window"> |
||||
|
<field name="name">Announcements</field> |
||||
|
<field name="res_model">hr.announcement</field> |
||||
|
<field name="view_type">form</field> |
||||
|
<field name="view_mode">tree,form</field> |
||||
|
<field name="search_view_id" ref="view_hr_announcement_search"/> |
||||
|
<field name="help" type="html"> |
||||
|
<p class="oe_view_nocontent_create"> |
||||
|
Click to Create a New Record. |
||||
|
</p> |
||||
|
</field> |
||||
|
</record> |
||||
|
|
||||
|
<menuitem id="hr_announcement" |
||||
|
name="Official Announcements" |
||||
|
groups="hr.group_hr_user,hr.group_hr_manager" |
||||
|
parent="hr.menu_hr_root" |
||||
|
sequence="15"/> |
||||
|
<menuitem id="hr_announcement_sub_menu" |
||||
|
name="Announcements" |
||||
|
action="action_hr_announcement" |
||||
|
parent="hr_announcement" |
||||
|
groups="hr.group_hr_user,hr.group_hr_manager" |
||||
|
sequence="1"/> |
||||
|
|
||||
|
<record model="ir.ui.view" id="announcement_inherit_form_view"> |
||||
|
<field name="name">hr.employee.form.inherit.view</field> |
||||
|
<field name="model">hr.employee</field> |
||||
|
<field name="inherit_id" ref="hr.view_employee_form"/> |
||||
|
<field name="arch" type="xml"> |
||||
|
<div class="oe_button_box" position="inside"> |
||||
|
<button class="oe_stat_button" name="announcement_view" type="object" icon="fa-bullhorn"> |
||||
|
<field string="Announcements" name="announcement_count" widget="statinfo"/> |
||||
|
</button> |
||||
|
</div> |
||||
|
</field> |
||||
|
</record> |
||||
|
</data> |
||||
|
</odoo> |
@ -1,26 +0,0 @@ |
|||||
<?xml version="1.0" encoding="utf-8"?> |
|
||||
<odoo> |
|
||||
<data> |
|
||||
<record model="ir.ui.view" id="reward_hr_employee_inherit_form_view"> |
|
||||
<field name="name">hr.employee.form.inherit.view</field> |
|
||||
<field name="model">hr.employee</field> |
|
||||
<field name="inherit_id" ref="hr.view_employee_form"/> |
|
||||
<field name="arch" type="xml"> |
|
||||
<div class="oe_button_box" position="inside"> |
|
||||
<button class="oe_stat_button" name="warning_view" type="object" icon="fa-exclamation-triangle"> |
|
||||
<field string="Warnings" name="warning_count" widget="statinfo"/> |
|
||||
</button> |
|
||||
<button class="oe_stat_button" name="reward_view" type="object" icon="fa-thumbs-up"> |
|
||||
<field string="Rewards" name="reward_count" widget="statinfo"/> |
|
||||
</button> |
|
||||
<button class="oe_stat_button" name="announcement_view" type="object" icon="fa-bullhorn"> |
|
||||
<field string="Announcements" name="ann_count" widget="statinfo"/> |
|
||||
</button> |
|
||||
<button class="oe_stat_button" name="letter_view" type="object" icon="fa-envelope"> |
|
||||
<field string="Letters" name="letter_count" widget="statinfo"/> |
|
||||
</button> |
|
||||
</div> |
|
||||
</field> |
|
||||
</record> |
|
||||
</data> |
|
||||
</odoo> |
|
@ -1,198 +0,0 @@ |
|||||
<?xml version="1.0" encoding="utf-8"?> |
|
||||
<odoo> |
|
||||
<data> |
|
||||
<record id="seq_hr_reward_seq" model="ir.sequence"> |
|
||||
<field name="name">Reward Code</field> |
|
||||
<field name="code">hr.loan.reward</field> |
|
||||
<field name="prefix">RS</field> |
|
||||
<field eval="4" name="padding" /> |
|
||||
</record> |
|
||||
|
|
||||
<record id="seq_hr_warning_seq" model="ir.sequence"> |
|
||||
<field name="name">Warning Code</field> |
|
||||
<field name="code">hr.loan.warning</field> |
|
||||
<field name="prefix">WS</field> |
|
||||
<field eval="4" name="padding" /> |
|
||||
</record> |
|
||||
|
|
||||
<record id="seq_hr_letter_seq" model="ir.sequence"> |
|
||||
<field name="name">Letter Code</field> |
|
||||
<field name="code">hr.loan.letter</field> |
|
||||
<field name="prefix">LS</field> |
|
||||
<field eval="4" name="padding" /> |
|
||||
</record> |
|
||||
|
|
||||
<record id="seq_hr_ga_seq" model="ir.sequence"> |
|
||||
<field name="name">Announcement</field> |
|
||||
<field name="code">hr.loan.announcement</field> |
|
||||
<field name="prefix">GA</field> |
|
||||
<field eval="4" name="padding" /> |
|
||||
</record> |
|
||||
|
|
||||
<record model='ir.ui.view' id='wizard_share_form'> |
|
||||
<field name="name">wizard.send.mail.form</field> |
|
||||
<field name="model">wizard.send.mail</field> |
|
||||
<field name="arch" type="xml"> |
|
||||
<form string="Share Letter"> |
|
||||
<group> |
|
||||
<group> |
|
||||
<field name="department_ids" widget="many2many_tags"/> |
|
||||
</group> |
|
||||
</group> |
|
||||
<footer> |
|
||||
<button name="send_now" string="Send" type="object" class="oe_highlight"/> |
|
||||
or |
|
||||
<button string="Cancel" class="oe_link" special="cancel" /> |
|
||||
</footer> |
|
||||
</form> |
|
||||
</field> |
|
||||
</record> |
|
||||
|
|
||||
<record model='ir.actions.act_window' id='wizard_share_act'> |
|
||||
<field name="name">Share Letter</field> |
|
||||
<field name="res_model">wizard.send.mail</field> |
|
||||
<field name="view_type">form</field> |
|
||||
<field name="view_mode">form</field> |
|
||||
<field name="view_id" ref="wizard_share_form"/> |
|
||||
<field name="target">new</field> |
|
||||
</record> |
|
||||
|
|
||||
<record id="view_hr_reward_warning_form" model="ir.ui.view"> |
|
||||
<field name="name">hr.reward.warning.form</field> |
|
||||
<field name="model">hr.reward.warning</field> |
|
||||
<field name="arch" type="xml"> |
|
||||
<form string="Announcements"> |
|
||||
<header> |
|
||||
<button string="Send For Approval" type="object" name="sent" groups="hr.group_hr_user" |
|
||||
attrs="{'invisible': [('state','not in',('draft'))]}"/> |
|
||||
<button string="Approve" groups="hr.group_hr_manager" type="object" name="approve" |
|
||||
attrs="{'invisible': [('state','not in',('to_approve'))]}"/> |
|
||||
<button string="Refuse" class="btn-primary" groups="hr.group_hr_manager" type="object" |
|
||||
name="reject" states="to_approve"/> |
|
||||
<button string="Set to Draft" type="object" name="set_to_draft" groups="hr.group_hr_user" |
|
||||
attrs="{'invisible': [('state','not in',('rejected'))]}"/> |
|
||||
<button string="Share" type="action" name="%(wizard_share_act)d" groups="hr.group_hr_user" |
|
||||
context="{'reward_id':id,'employee_id':employee_id}" |
|
||||
attrs="{'invisible': ['|',('state','not in',('approved')),('email_send','=',True)]}"/> |
|
||||
<button string="Set to Done" type="object" name="set_to_done" groups="hr.group_hr_user" |
|
||||
attrs="{'invisible': ['|','|', ('state','not in',('approved')), |
|
||||
('state','=', 'done'), |
|
||||
('hr_type','!=',('letter')), |
|
||||
('is_announcement','=',False)]}"/> |
|
||||
<field name="state" widget="statusbar" statusbar_visible="draft,to_approve,approved,done"/> |
|
||||
</header> |
|
||||
<sheet> |
|
||||
<label for="is_announcement"/> |
|
||||
<div> |
|
||||
<field name="is_announcement"/> |
|
||||
</div> |
|
||||
<h1> |
|
||||
<label for="name"/> |
|
||||
<div> |
|
||||
<field name="name" class="oe_inline" readonly="1"/> |
|
||||
</div> |
|
||||
</h1> |
|
||||
<group> |
|
||||
<label for="reason"/> |
|
||||
<div> |
|
||||
<field name="reason"/> |
|
||||
</div> |
|
||||
</group> |
|
||||
<group> |
|
||||
<group> |
|
||||
<field name="employee_id" attrs="{'invisible': [('is_announcement','=',True)], |
|
||||
'required': [('is_announcement','=',False)]}"/> |
|
||||
<field name="hr_type" attrs="{'invisible': [('is_announcement','=',True)], |
|
||||
'required': [('is_announcement','=',False)]}"/> |
|
||||
<field name="month_of_action" attrs="{'invisible': ['|',('hr_type','=',('letter')), |
|
||||
('is_announcement','=',True)], |
|
||||
'required': [('hr_type','!=',('letter')), |
|
||||
('is_announcement','=',False)]}"/> |
|
||||
<field name="attachment_id" widget="many2many_binary" class="oe_inline"/> |
|
||||
</group> |
|
||||
<group> |
|
||||
<field name="requested_date" readonly="1"/> |
|
||||
<field name="email_send" invisible="1"/> |
|
||||
<field name="amount" attrs="{'invisible': ['|',('hr_type','=',('letter')), |
|
||||
('is_announcement','=',True)]}"/> |
|
||||
<field name="company_id" options="{'no_create': True}" groups="base.group_multi_company"/> |
|
||||
</group> |
|
||||
</group> |
|
||||
<notebook> |
|
||||
<page name="letter" string="Letter"> |
|
||||
<field name="letter"/> |
|
||||
</page> |
|
||||
</notebook> |
|
||||
</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 id="view_hr_reward_warning_tree" model="ir.ui.view"> |
|
||||
<field name="name">hr.reward.warning.tree</field> |
|
||||
<field name="model">hr.reward.warning</field> |
|
||||
<field name="arch" type="xml"> |
|
||||
<tree decoration-info="state == 'draft'" colors="grey:state == 'rejected';green:state == 'approved';red:state == 'to_approve';"> |
|
||||
<field name="name"/> |
|
||||
<field name="reason"/> |
|
||||
<field name="employee_id"/> |
|
||||
<field name="hr_type"/> |
|
||||
<field name="month_of_action"/> |
|
||||
<field name="state"/> |
|
||||
</tree> |
|
||||
</field> |
|
||||
</record> |
|
||||
|
|
||||
<record id="view_hr_reward_warning_search" model="ir.ui.view"> |
|
||||
<field name="name">hr.reward.warning.search</field> |
|
||||
<field name="model">hr.reward.warning</field> |
|
||||
<field name="arch" type="xml"> |
|
||||
<search string="Announcements"> |
|
||||
<field name="name"/> |
|
||||
<field name="is_announcement"/> |
|
||||
<field name="reason"/> |
|
||||
<field name="employee_id"/> |
|
||||
<field name="hr_type"/> |
|
||||
<field name="month_of_action"/> |
|
||||
<field name="state"/> |
|
||||
<separator/> |
|
||||
<filter name="approved_rewards" string="Approved Letters" domain="[('state', '=', 'approved')]"/> |
|
||||
<filter name="general_announcements" string="General Announcements" domain="[('is_announcement', '=',True)]"/> |
|
||||
<filter name="warnings" string="Warnings" domain="[('hr_type', '=', 'warning')]"/> |
|
||||
<filter name="letters" string="Letters" domain="[('hr_type', '=', 'letter')]"/> |
|
||||
<filter name="rewards" string="Rewards" domain="[('hr_type', '=', 'reward')]"/> |
|
||||
<group expand="0" string="Group By"> |
|
||||
<filter string="Status" domain="[]" context="{'group_by':'state'}"/> |
|
||||
<filter string="Employee" domain="[]" context="{'group_by':'employee_id'}"/> |
|
||||
<filter string="Type" domain="[]" context="{'group_by':'hr_type'}"/> |
|
||||
<filter string="Month of Action" domain="[]" context="{'group_by':'month_of_action'}"/> |
|
||||
</group> |
|
||||
</search> |
|
||||
</field> |
|
||||
</record> |
|
||||
|
|
||||
<record id="action_hr_reward_warning" model="ir.actions.act_window"> |
|
||||
<field name="name">Announcements</field> |
|
||||
<field name="res_model">hr.reward.warning</field> |
|
||||
<field name="view_type">form</field> |
|
||||
<field name="view_mode">tree,form</field> |
|
||||
<field name="search_view_id" ref="view_hr_reward_warning_search"/> |
|
||||
<field name="help" type="html"> |
|
||||
<p class="oe_view_nocontent_create"> |
|
||||
Click to Create a New Record. |
|
||||
</p> |
|
||||
</field> |
|
||||
</record> |
|
||||
|
|
||||
<menuitem id="hr_reward_warning" parent="hr.menu_hr_root" |
|
||||
groups="hr.group_hr_user,hr.group_hr_manager" |
|
||||
name="Official Announcements" sequence="15"/> |
|
||||
<menuitem action="action_hr_reward_warning" id="hr_reward_warning_sub_menu" parent="hr_reward_warning" |
|
||||
groups="hr.group_hr_user,hr.group_hr_manager" |
|
||||
name="Announcements" sequence="1"/> |
|
||||
</data> |
|
||||
</odoo> |
|
Loading…
Reference in new issue