Originally, selection widget was used to prevent the creation of new companies, but now, we have an option for that in m2o widgets.
751 lines
38 KiB
XML
751 lines
38 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<openerp>
|
|
<data>
|
|
<!-- Root Menus -->
|
|
|
|
<menuitem id="payroll_configure" parent="hr.menu_hr_configuration" name="Payroll" groups="base.group_hr_manager" sequence="45"/>
|
|
<menuitem id="menu_hr_root_payroll" parent="hr.menu_hr_root" name="Payroll" sequence="30"/>
|
|
<menuitem id="menu_hr_payroll_reporting" parent="hr.menu_hr_reporting" name="Payroll" groups="base.group_hr_manager"/>
|
|
|
|
<!-- Contract View -->
|
|
<record id="hr_contract_form_inherit" model="ir.ui.view">
|
|
<field name="name">hr.contract.view.form.inherit</field>
|
|
<field name="model">hr.contract</field>
|
|
<field name="inherit_id" ref="hr_contract.hr_contract_view_form"/>
|
|
<field name="arch" type="xml">
|
|
<data>
|
|
<xpath expr="//field[@name='wage']" position="after">
|
|
<field name="struct_id" required="1"/>
|
|
</xpath>
|
|
<xpath expr="//field[@name='working_hours']" position="after">
|
|
<field name="schedule_pay"/>
|
|
</xpath>
|
|
</data>
|
|
</field>
|
|
</record>
|
|
|
|
<!-- End Contract View-->
|
|
|
|
<!-- Salary structure -->
|
|
<record id="view_hr_payroll_structure_list_view" model="ir.ui.view">
|
|
<field name="name">hr.payroll.structure.tree</field>
|
|
<field name="model">hr.payroll.structure</field>
|
|
<field name="arch" type="xml">
|
|
<tree string="Employee Function">
|
|
<field name="name"/>
|
|
<field name="code"/>
|
|
<field name="rule_ids"/>
|
|
<field name="company_id" groups="base.group_multi_company" options="{'no_create': True}"/>
|
|
</tree>
|
|
</field>
|
|
</record>
|
|
<record id="view_hr_payroll_structure_tree" model="ir.ui.view">
|
|
<field name="name">hr.payroll.structure.tree</field>
|
|
<field name="model">hr.payroll.structure</field>
|
|
<field name="field_parent">children_ids</field>
|
|
<field name="arch" type="xml">
|
|
<tree string="Salary Structure">
|
|
<field name="name"/>
|
|
<field name="code"/>
|
|
<field name="company_id" groups="base.group_multi_company" options="{'no_create': True}"/>
|
|
</tree>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="view_hr_payroll_structure_filter" model="ir.ui.view">
|
|
<field name="name">hr.payroll.structure.select</field>
|
|
<field name="model">hr.payroll.structure</field>
|
|
<field name="arch" type="xml">
|
|
<search string="Payroll Structures">
|
|
<field name="name" string="Payroll Structures" filter_domain="['|',('name','ilike',self),('code','ilike',self)]"/>
|
|
</search>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="view_hr_employee_grade_form" model="ir.ui.view">
|
|
<field name="name">hr.payroll.structure.form</field>
|
|
<field name="model">hr.payroll.structure</field>
|
|
<field name="arch" type="xml">
|
|
<form string="Employee Function">
|
|
<group col="4">
|
|
<field name="name"/>
|
|
<field name="code"/>
|
|
<field name="parent_id"/>
|
|
<field name="company_id" groups="base.group_multi_company" options="{'no_create': True}"/>
|
|
</group>
|
|
<notebook colspan="4">
|
|
<page string="Salary Rules">
|
|
<field name="rule_ids" domain="[('parent_rule_id','=',False)]">
|
|
<tree>
|
|
<field name="name"/>
|
|
<field name="code"/>
|
|
<field name="category_id"/>
|
|
<field name="sequence" invisible="1"/>
|
|
<field name="register_id"/>
|
|
</tree>
|
|
</field>
|
|
</page>
|
|
</notebook>
|
|
</form>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="action_view_hr_payroll_structure_list_form" model="ir.actions.act_window">
|
|
<field name="name">Salary Structures</field>
|
|
<field name="res_model">hr.payroll.structure</field>
|
|
<field name="view_type">form</field>
|
|
<field name="view_id" ref="view_hr_payroll_structure_list_view"/>
|
|
</record>
|
|
<menuitem
|
|
id="menu_hr_payroll_structure_view"
|
|
action="action_view_hr_payroll_structure_list_form"
|
|
parent="payroll_configure"
|
|
sequence="2"
|
|
/>
|
|
<record id="action_view_hr_payroll_structure_tree" model="ir.actions.act_window">
|
|
<field name="name">Salary Structures Hierarchy</field>
|
|
<field name="res_model">hr.payroll.structure</field>
|
|
<field name="view_type">tree</field>
|
|
<field name="domain">[('parent_id','=',False)]</field>
|
|
<field name="view_id" ref="view_hr_payroll_structure_tree"/>
|
|
</record>
|
|
<menuitem
|
|
id="menu_hr_payroll_structure_tree"
|
|
action="action_view_hr_payroll_structure_tree"
|
|
parent="payroll_configure"
|
|
sequence="2"
|
|
icon="STOCK_INDENT"
|
|
/>
|
|
<!-- End Salary structure -->
|
|
|
|
<!-- Payslip Line -->
|
|
<record id="view_hr_payslip_line_tree" model="ir.ui.view">
|
|
<field name="name">hr.payslip.line.tree</field>
|
|
<field name="model">hr.payslip.line</field>
|
|
<field name="arch" type="xml">
|
|
<tree string="Salary Structure" editable="bottom" colors="blue:total == 0">
|
|
<field name="category_id"/>
|
|
<field name="employee_id" invisible="1"/>
|
|
<field name="sequence"/>
|
|
<field name="name"/>
|
|
<field name="code"/>
|
|
<field name="quantity"/>
|
|
<field name="rate"/>
|
|
<field name="amount"/>
|
|
<field name="total"/>
|
|
<field name="amount_select" invisible="1"/>
|
|
<field name="register_id" invisible="1"/>
|
|
</tree>
|
|
</field>
|
|
</record>
|
|
<record id="view_hr_payslip_line_form" model="ir.ui.view">
|
|
<field name="name">hr.payslip.line.form</field>
|
|
<field name="model">hr.payslip.line</field>
|
|
<field name="arch" type="xml">
|
|
<form string="Payslip Line">
|
|
<group>
|
|
<group>
|
|
<field name="name"/>
|
|
<field name="code"/>
|
|
<field name="slip_id"/>
|
|
<field name="employee_id"/>
|
|
</group>
|
|
<group string="Calculations">
|
|
<field name="category_id"/>
|
|
<field name="amount_select"/>
|
|
<field name="amount_fix" attrs="{'readonly':[('amount_select','<>','fix')]}"/>
|
|
<field name="amount_percentage" attrs="{'readonly':[('amount_select','<>','percentage')]}"/>
|
|
<field name="sequence"/>
|
|
</group>
|
|
<field name="note"/>
|
|
</group>
|
|
</form>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="view_hr_payslip_line_filter" model="ir.ui.view">
|
|
<field name="name">hr.payslip.line.select</field>
|
|
<field name="model">hr.payslip.line</field>
|
|
<field name="arch" type="xml">
|
|
<search string="Search Payslip Lines">
|
|
<field name="name" string="Payslip Lines" filter_domain="['|',('name','ilike',self),('code','ilike',self)]"/>
|
|
<field name="amount_select"/>
|
|
<field name="slip_id"/>
|
|
<group col="8" colspan="4" expand="0" string="Group By">
|
|
<filter string="Salary Rule Category" icon="terp-camera_test" name="category_id" context="{'group_by':'category_id'}"/>
|
|
<filter string="Contribution Register" name="register_id" icon="terp-folder-yellow" context="{'group_by':'register_id'}"/>
|
|
<filter string="Amount Type" name="amount_select" icon="terp-stock_symbol-selection" context="{'group_by':'amount_select'}"/>
|
|
<filter string="Employees" name="employee_id" icon="terp-personal" context="{'group_by':'employee_id'}"/>
|
|
</group>
|
|
</search>
|
|
</field>
|
|
</record>
|
|
|
|
|
|
<!-- payslip -->
|
|
|
|
<record id="view_hr_payslip_tree" model="ir.ui.view">
|
|
<field name="name">hr.payslip.tree</field>
|
|
<field name="model">hr.payslip</field>
|
|
<field name="arch" type="xml">
|
|
<tree colors="blue:state in ('confirm','hr_check','accont_check');black:state == 'new';gray:state == 'cancel'" string="Payslips">
|
|
<field name="number"/>
|
|
<field name="employee_id"/>
|
|
<field name="name"/>
|
|
<field name="date_from"/>
|
|
<field name="date_to"/>
|
|
<field name="state"/>
|
|
<field name="company_id" groups="base.group_multi_company" options="{'no_create': True}"/>
|
|
<field name="payslip_run_id" invisible="1"/>
|
|
</tree>
|
|
</field>
|
|
</record>
|
|
|
|
<act_window name="Payslip Computation Details"
|
|
context="{'default_slip_id': active_id,'search_default_slip_id': active_id}"
|
|
res_model="hr.payslip.line"
|
|
src_model="hr.payslip"
|
|
id="act_payslip_lines"/>
|
|
|
|
<record id="view_hr_payslip_form" model="ir.ui.view">
|
|
<field name="name">hr.payslip.form</field>
|
|
<field name="model">hr.payslip</field>
|
|
<field name="arch" type="xml">
|
|
<form string="Payslip">
|
|
<header>
|
|
<button string="Confirm" name="hr_verify_sheet" states="draft" class="oe_highlight"/>
|
|
<button string="Refund" name="refund_sheet" states="confirm,done" type='object' />
|
|
<button string="Set to Draft" name="draft" states="cancel"/>
|
|
<button string="Compute Sheet" name="compute_sheet" type="object" states="draft" class="oe_highlight"/>
|
|
<button string="Cancel Payslip" name="cancel_sheet" states="draft,hr_check,confirm,verify"/>
|
|
<field name="state" widget="statusbar" statusbar_visible="draft,confirm"/>
|
|
</header>
|
|
<sheet>
|
|
<div class="oe_right oe_button_box">
|
|
<button name="%(act_payslip_lines)d"
|
|
class="oe_stat_button"
|
|
icon="fa-money"
|
|
type="action">
|
|
<field name="payslip_count" widget="statinfo" string="Payslip" help="Payslip Computation Details"/>
|
|
</button>
|
|
</div>
|
|
<div class="oe_title">
|
|
<label for="employee_id" class="oe_edit_only"/>
|
|
<h1><field name="employee_id" on_change="onchange_employee_id(date_from, date_to, employee_id, contract_id)"/></h1>
|
|
</div>
|
|
<group col="4">
|
|
<label for="date_from" string="Period"/>
|
|
<div>
|
|
<field name="date_from" on_change="onchange_employee_id(date_from, date_to, employee_id, contract_id)" class="oe_inline"/> - <field name="date_to" class="oe_inline"/>
|
|
</div>
|
|
<field name="contract_id" domain="[('employee_id','=',employee_id),('date_start','<=',date_to),'|',('date_end','>=',date_from),('date_end','=',False)]" on_change="onchange_contract_id(date_from, date_to, employee_id, contract_id)" context="{'default_employee_id': employee_id}"/>
|
|
<field name="number"/>
|
|
<field name="struct_id" attrs="{'required':[('contract_id','<>',False)]}"/>
|
|
<field name="name"/>
|
|
<field name="credit_note"/>
|
|
</group>
|
|
<notebook>
|
|
<page string="Worked Days & Inputs">
|
|
<separator string="Worked Days"/>
|
|
<field name="worked_days_line_ids">
|
|
<tree string="Worked Days" editable="bottom">
|
|
<field name="name"/>
|
|
<field name="code"/>
|
|
<field name="number_of_days" sum="Total Working Days"/>
|
|
<field name="number_of_hours"/>
|
|
<field name="contract_id"/>
|
|
<field name="sequence" invisible="True"/>
|
|
</tree>
|
|
<form string="Worked Day">
|
|
<group col="4">
|
|
<field name="name"/>
|
|
<field name="code"/>
|
|
<field name="payslip_id"/>
|
|
<field name="sequence"/>
|
|
<field name="number_of_days"/>
|
|
<field name="number_of_hours"/>
|
|
<field name="contract_id"/>
|
|
</group>
|
|
</form>
|
|
</field>
|
|
<separator string="Other Inputs"/>
|
|
<field name="input_line_ids" colspan="4" nolabel="1">
|
|
<tree string="Input Data" editable="bottom">
|
|
<field name="name"/>
|
|
<field name="code"/>
|
|
<field name="amount"/>
|
|
<field name="contract_id"/>
|
|
<field name="sequence" invisible="True"/>
|
|
</tree>
|
|
<form string="Payslip Line">
|
|
<group col="4">
|
|
<field name="name"/>
|
|
<field name="code"/>
|
|
<field name="payslip_id"/>
|
|
<field name="sequence"/>
|
|
<field name="amount"/>
|
|
<field name="contract_id"/>
|
|
</group>
|
|
</form>
|
|
</field>
|
|
</page>
|
|
<page string="Salary Computation" >
|
|
<field name="line_ids" colspan="4" nolabel="1">
|
|
<tree string="Salary Structure" editable="bottom" colors="blue:total == 0">
|
|
<field name="name"/>
|
|
<field name="code"/>
|
|
<field name="category_id"/>
|
|
<field name="sequence" invisible="1"/>
|
|
<field name="quantity"/>
|
|
<field name="rate"/>
|
|
<field name="amount"/>
|
|
<field name="total"/>
|
|
</tree>
|
|
<form string="Payslip Line">
|
|
<group col="4">
|
|
<field name="name"/>
|
|
<field name="code"/>
|
|
<field name="category_id"/>
|
|
<field name="sequence"/>
|
|
<field name="quantity"/>
|
|
<field name="rate"/>
|
|
<field name="amount"/>
|
|
<field name="total"/>
|
|
<field name="salary_rule_id"/>
|
|
</group>
|
|
</form>
|
|
</field>
|
|
</page>
|
|
<page string="Details By Salary Rule Category">
|
|
<field name="details_by_salary_rule_category" context="{'group_by':'category_id'}" domain="[('appears_on_payslip', '=', True)]">
|
|
<tree string="Payslip Lines" colors="blue:total == 0">
|
|
<field name="category_id"/>
|
|
<field name="name"/>
|
|
<field name="code"/>
|
|
<field name="total"/>
|
|
</tree>
|
|
</field>
|
|
</page>
|
|
<page string="Accounting Information">
|
|
<group>
|
|
<group string="Miscellaneous">
|
|
<field name="company_id" groups="base.group_multi_company"/>
|
|
<field name="payslip_run_id" domain="[('state','=','draft')]"/>
|
|
</group>
|
|
<group name="accounting" string="Accounting">
|
|
<field name="paid" readonly="1"/>
|
|
</group>
|
|
</group>
|
|
<div colspan="4">
|
|
<field name="note" placeholder="Add an internal note..."/>
|
|
</div>
|
|
</page>
|
|
</notebook>
|
|
</sheet>
|
|
</form>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="view_hr_payslip_filter" model="ir.ui.view">
|
|
<field name="name">hr.payslip.select</field>
|
|
<field name="model">hr.payslip</field>
|
|
<field name="arch" type="xml">
|
|
<search string="Search Payslips">
|
|
<field name="name" string="Payslips" filter_domain="['|',('name','ilike',self),('number','ilike',self)]"/>
|
|
<field name="date_from"/>
|
|
<filter icon="terp-document-new" string="Draft" domain="[('state','=','draft')]" help="Draft Slip"/>
|
|
<filter icon="terp-camera_test" string="Done" domain="[('state','=','done')]" help="Done Slip"/>
|
|
<field name="employee_id"/>
|
|
<field name="payslip_run_id"/>
|
|
<group expand="0" string="Group By">
|
|
<filter string="Employees" icon="terp-personal" name="employee_id" context="{'group_by':'employee_id'}"/>
|
|
<filter string="PaySlip Batch" name="payslip_run_id" icon="terp-folder-orange" context="{'group_by':'payslip_run_id'}"/>
|
|
<filter string="Companies" name="company_id" groups="base.group_multi_company" icon="terp-go-home" context="{'group_by':'company_id'}"/>
|
|
<filter string="States" name="state" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/>
|
|
</group>
|
|
</search>
|
|
</field>
|
|
</record>
|
|
<record id="action_view_hr_payslip_form" model="ir.actions.act_window">
|
|
<field name="name">Employee Payslips</field>
|
|
<field name="res_model">hr.payslip</field>
|
|
<field name="view_type">form</field>
|
|
<field name="view_id" ref="view_hr_payslip_tree"/>
|
|
<field name="search_view_id" ref="view_hr_payslip_filter"/>
|
|
</record>
|
|
|
|
<menuitem action="action_view_hr_payslip_form" id="menu_department_tree" parent="menu_hr_root_payroll" groups="base.group_hr_user"/>
|
|
|
|
<record id="act_hr_employee_payslip_list" model="ir.actions.act_window">
|
|
<field name="res_model">hr.payslip</field>
|
|
<field name="name">Payslips</field>
|
|
<field name="view_type">form</field>
|
|
<field name="view_mode">tree,form</field>
|
|
<field name="context">{'search_default_employee_id': [active_id], 'default_employee_id': active_id}</field>
|
|
</record>
|
|
|
|
<!-- Employee View -->
|
|
<record id="payroll_hr_employee_view_form" model="ir.ui.view">
|
|
<field name="name">payroll.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">
|
|
<data>
|
|
<xpath expr="//div[@name='button_box']" position="inside">
|
|
<button name="%(act_hr_employee_payslip_list)d"
|
|
class="oe_stat_button"
|
|
icon="fa-money"
|
|
type="action"
|
|
groups="base.group_hr_user">
|
|
<field name="payslip_count" widget="statinfo" string="Payslips"/>
|
|
</button>
|
|
</xpath>
|
|
</data>
|
|
</field>
|
|
</record>
|
|
<!-- Salary Category-->
|
|
<record id="hr_salary_rule_category_form" model="ir.ui.view">
|
|
<field name="name">hr.salary.rule.category.form</field>
|
|
<field name="model">hr.salary.rule.category</field>
|
|
<field name="arch" type="xml">
|
|
<form string="Salary Categories">
|
|
<group col="4">
|
|
<field name="name"/>
|
|
<field name="code"/>
|
|
<field name="parent_id"/>
|
|
<separator string="Notes"/>
|
|
<field name="note"/>
|
|
</group>
|
|
</form>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="hr_salary_rule_category_tree" model="ir.ui.view">
|
|
<field name="name">hr.salary.rule.category.tree</field>
|
|
<field name="model">hr.salary.rule.category</field>
|
|
<field name="arch" type="xml">
|
|
<tree string="Salary Rule Categories">
|
|
<field name="name"/>
|
|
<field name="code"/>
|
|
<field name="parent_id" invisible="1"/>
|
|
</tree>
|
|
</field>
|
|
</record>
|
|
<record id="hr_salary_rule_category_tree_view" model="ir.ui.view">
|
|
<field name="name">hr.salary.rule.category.tree.view</field>
|
|
<field name="model">hr.salary.rule.category</field>
|
|
<field name="field_parent">children_ids</field>
|
|
<field name="arch" type="xml">
|
|
<tree string="Salary Rule Categories">
|
|
<field name="name"/>
|
|
<field name="code"/>
|
|
<field name="parent_id" invisible="1"/>
|
|
</tree>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="view_hr_salary_rule_category_filter" model="ir.ui.view">
|
|
<field name="name">hr.salary.rule.category.select</field>
|
|
<field name="model">hr.salary.rule.category</field>
|
|
<field name="arch" type="xml">
|
|
<search string="Salary Rule Categories">
|
|
<field name="name" string="Salary Rule Categories" filter_domain="['|',('name','ilike',self),('code','ilike',self)]"/>
|
|
</search>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="action_hr_salary_rule_category" model="ir.actions.act_window">
|
|
<field name="name">Salary Rule Categories</field>
|
|
<field name="res_model">hr.salary.rule.category</field>
|
|
<field name="view_type">form</field>
|
|
<field name="view_id" ref="hr_salary_rule_category_tree"/>
|
|
<field name="search_view_id" ref="view_hr_salary_rule_category_filter"/>
|
|
</record>
|
|
<menuitem
|
|
id="menu_hr_salary_rule_category"
|
|
action="action_hr_salary_rule_category"
|
|
parent="payroll_configure"
|
|
sequence="11"
|
|
groups="base.group_no_one"
|
|
/>
|
|
<record id="action_hr_salary_rule_category_tree_view" model="ir.actions.act_window">
|
|
<field name="name">Salary Rule Categories Hierarchy</field>
|
|
<field name="res_model">hr.salary.rule.category</field>
|
|
<field name="view_type">tree</field>
|
|
<field name="domain">[('parent_id','=',False)]</field>
|
|
<field name="view_id" ref="hr_salary_rule_category_tree_view"/>
|
|
</record>
|
|
<menuitem
|
|
id="menu_hr_salary_rule_category_tree_view"
|
|
action="action_hr_salary_rule_category_tree_view"
|
|
parent="payroll_configure"
|
|
sequence="12"
|
|
icon="STOCK_INDENT"
|
|
groups="base.group_no_one"
|
|
/>
|
|
|
|
<!--
|
|
Contribution Register
|
|
-->
|
|
<record id="hr_contribution_register_tree" model="ir.ui.view">
|
|
<field name="name">hr.contribution.register.tree</field>
|
|
<field name="model">hr.contribution.register</field>
|
|
<field name="arch" type="xml">
|
|
<tree string="Contribution Registers">
|
|
<field name="name" />
|
|
<field name="company_id" groups="base.group_multi_company" options="{'no_create': True}"/>
|
|
</tree>
|
|
</field>
|
|
</record>
|
|
<record id="hr_contribution_register_filter" model="ir.ui.view">
|
|
<field name="name">hr.contribution.register.search</field>
|
|
<field name="model">hr.contribution.register</field>
|
|
<field name="arch" type="xml">
|
|
<search string="Contribution Registers">
|
|
<field name="name" string="Contribution Registers"/>
|
|
<field name="company_id" groups="base.group_multi_company"/>
|
|
</search>
|
|
</field>
|
|
</record>
|
|
<record id="hr_contribution_register_form" model="ir.ui.view">
|
|
<field name="name">hr.contribution.register.form</field>
|
|
<field name="model">hr.contribution.register</field>
|
|
<field name="arch" type="xml">
|
|
<form string="Contribution">
|
|
<group>
|
|
<field name="name"/>
|
|
<field name="company_id" groups="base.group_multi_company" options="{'no_create': True}" class="oe_inline"/>
|
|
</group>
|
|
<newline/>
|
|
<group>
|
|
<separator string="Description"/><newline/>
|
|
<field name="note" nolabel="1"/></group>
|
|
</form>
|
|
</field>
|
|
</record>
|
|
<record id="action_contribution_register_form" model="ir.actions.act_window">
|
|
<field name="name">Contribution Registers</field>
|
|
<field name="res_model">hr.contribution.register</field>
|
|
<field name="view_type">form</field>
|
|
<field name="help" type="html">
|
|
<p class="oe_view_nocontent_create">
|
|
Click to add a new contribution register.
|
|
</p><p>
|
|
A contribution register is a third party involved in the salary
|
|
payment of the employees. It can be the social security, the
|
|
estate or anyone that collect or inject money on payslips.
|
|
</p>
|
|
</field>
|
|
<field name="view_id" ref="hr_contribution_register_tree"/>
|
|
</record>
|
|
<menuitem
|
|
id="menu_action_hr_contribution_register_form"
|
|
action="action_contribution_register_form"
|
|
parent="payroll_configure"
|
|
sequence="14"
|
|
/>
|
|
|
|
<!-- Salary Rules -->
|
|
|
|
<record id="hr_salary_rule_list" model="ir.ui.view">
|
|
<field name="name">hr.salary.rule.list</field>
|
|
<field name="model">hr.salary.rule</field>
|
|
<field name="arch" type="xml">
|
|
<tree string="Salary Rules">
|
|
<field name="name"/>
|
|
<field name="code"/>
|
|
<field name="category_id"/>
|
|
<field name="sequence" invisible="1"/>
|
|
<field name="register_id"/>
|
|
</tree>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="hr_salary_rule_tree" model="ir.ui.view">
|
|
<field name="name">hr.salary.rule.tree</field>
|
|
<field name="model">hr.salary.rule</field>
|
|
<field name="field_parent">child_ids</field>
|
|
<field eval="20" name="priority"/>
|
|
<field name="arch" type="xml">
|
|
<tree string="Salary Rules">
|
|
<field name="name"/>
|
|
<field name="code"/>
|
|
<field name="category_id" invisible="True"/>
|
|
<field name="company_id" groups="base.group_multi_company" options="{'no_create': True}"/>
|
|
</tree>
|
|
</field>
|
|
</record>
|
|
<record id="hr_salary_rule_form" model="ir.ui.view">
|
|
<field name="name">hr.salary.rule.form</field>
|
|
<field name="model">hr.salary.rule</field>
|
|
<field name="arch" type="xml">
|
|
<form string="Salary Rules">
|
|
<label for="name" class="oe_edit_only"/>
|
|
<h1><field name="name"/></h1>
|
|
<label for="category_id" class="oe_edit_only"/>
|
|
<h2><field name="category_id"/></h2>
|
|
|
|
<group col="4">
|
|
<field name="code"/>
|
|
<field name="sequence" />
|
|
<field name="active"/>
|
|
<field name="appears_on_payslip"/>
|
|
<field name="company_id" options="{'no_create': True}" groups="base.group_multi_company"/>
|
|
</group>
|
|
<notebook colspan="6">
|
|
<page string="General">
|
|
<group col="4">
|
|
<separator colspan="4" string="Conditions"/>
|
|
<field name="condition_select"/><newline/>
|
|
<field name="condition_python" attrs="{'invisible':[('condition_select','<>','python')], 'required': [('condition_select','=','python')]}" colspan="4"/> <newline/>
|
|
<field name="condition_range" attrs="{'invisible':[('condition_select','<>','range')], 'required':[('condition_select','=','range')]}"/><newline/>
|
|
<field name="condition_range_min" colspan="2" attrs="{'invisible':[('condition_select','<>','range')], 'required':[('condition_select','=','range')]}"/><newline/>
|
|
<field name="condition_range_max" colspan="2" attrs="{'invisible':[('condition_select','<>','range')], 'required':[('condition_select','=','range')]}"/><newline/>
|
|
<separator colspan="4" string="Computation"/>
|
|
<field name="amount_select"/><newline/>
|
|
<field name="amount_percentage_base" attrs="{'invisible':[('amount_select','<>','percentage')], 'required': [('amount_select','=','percentage')]}"/><newline/>
|
|
<field name="quantity" attrs="{'invisible':[('amount_select','=','code')], 'required':[('amount_select','!=','code')]}"/><newline/>
|
|
<field name="amount_fix" attrs="{'invisible':[('amount_select','<>','fix')], 'required':[('amount_select','=','fix')]}"/><newline/>
|
|
<field colspan="4" name="amount_python_compute" attrs="{'invisible':[('amount_select','<>','code')], 'required':[('amount_select','=','code')]}"/>
|
|
<field name="amount_percentage" attrs="{'invisible':[('amount_select','<>','percentage')], 'required':[('amount_select','=','percentage')]}"/>
|
|
<separator colspan="4" string="Company Contribution"/>
|
|
<field name="register_id"/>
|
|
</group>
|
|
</page>
|
|
<page string="Child Rules">
|
|
<field name="parent_rule_id"/>
|
|
<separator string="Children Definition"/>
|
|
<field name="child_ids"/>
|
|
</page>
|
|
<page string="Inputs">
|
|
<field name="input_ids" mode="tree">
|
|
<tree string="Input Data" editable="bottom">
|
|
<field name="name"/>
|
|
<field name="code"/>
|
|
</tree>
|
|
</field>
|
|
</page>
|
|
<page string="Description">
|
|
<field name="note"/>
|
|
</page>
|
|
</notebook>
|
|
</form>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="view_hr_rule_filter" model="ir.ui.view">
|
|
<field name="name">hr.salary.rule.select</field>
|
|
<field name="model">hr.salary.rule</field>
|
|
<field name="arch" type="xml">
|
|
<search string="Search Salary Rule">
|
|
<field name="name" string="Salary Rules" filter_domain="['|',('name','ilike',self),('code','ilike',self)]"/>
|
|
<field name="category_id"/>
|
|
<field name="condition_range_min"/>
|
|
<group col="8" colspan="4" expand="0" string="Group By">
|
|
<filter string="Category" icon="terp-folder-yellow" name="head" context="{'group_by':'category_id'}"/>
|
|
</group>
|
|
</search>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="action_salary_rule_form" model="ir.actions.act_window">
|
|
<field name="name">Salary Rules</field>
|
|
<field name="res_model">hr.salary.rule</field>
|
|
<field name="view_type">form</field>
|
|
<field name="view_id" ref="hr_salary_rule_list"/>
|
|
<field name="domain">[('parent_rule_id','=',False)]</field>
|
|
<field name="search_view_id" ref="view_hr_rule_filter"/>
|
|
</record>
|
|
|
|
<menuitem id="menu_action_hr_salary_rule_form" action="action_salary_rule_form" parent="payroll_configure" sequence="12"/>
|
|
|
|
|
|
<act_window name="All Children Rules"
|
|
domain="[('parent_rule_id', '=', active_id)]"
|
|
res_model="hr.salary.rule"
|
|
src_model="hr.salary.rule"
|
|
view_id="hr_salary_rule_list"
|
|
id="act_children_salary_rules"/>
|
|
|
|
<!-- payslip runs -->
|
|
|
|
<record id="hr_payslip_run_filter" model="ir.ui.view">
|
|
<field name="name">hr.payslip.run.search</field>
|
|
<field name="model">hr.payslip.run</field>
|
|
<field name="arch" type="xml">
|
|
<search string="Search Payslip Batches">
|
|
<field name="name" string="Payslip Batches"/>
|
|
<field name="date_start"/>
|
|
<field name="date_end"/>
|
|
<filter icon="terp-document-new" string="Draft" domain="[('state','=','draft')]" help="Draft Payslip Batches"/>
|
|
<filter name="done_filter" icon="terp-camera_test" string="Done" domain="[('state','=','close')]" help="Done Payslip Batches"/>
|
|
</search>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="hr_payslip_run_tree" model="ir.ui.view">
|
|
<field name="name">hr.payslip.run.tree</field>
|
|
<field name="model">hr.payslip.run</field>
|
|
<field name="arch" type="xml">
|
|
<tree string="Payslips Batches">
|
|
<field name="name"/>
|
|
<field name="date_start"/>
|
|
<field name="date_end"/>
|
|
<field name="credit_note"/>
|
|
<field name="state"/>
|
|
</tree>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="hr_payslip_run_form" model="ir.ui.view">
|
|
<field name="name">hr.payslip.run.form</field>
|
|
<field name="model">hr.payslip.run</field>
|
|
<field name="arch" type="xml">
|
|
<form string="Payslips Batches">
|
|
<header>
|
|
<button name="close_payslip_run" type="object" string="Close" states="draft" class="oe_highlight"/>
|
|
<button name="%(action_hr_payslip_by_employees)d" type="action" states="draft" string="Generate Payslips" class="oe_highlight"/>
|
|
<button string="Set to Draft" name="draft_payslip_run" type="object" states="close" />
|
|
<field name="state" widget="statusbar"/>
|
|
</header>
|
|
<sheet>
|
|
<label for="name" class="oe_edit_only"/>
|
|
<h1>
|
|
<field name="name"/>
|
|
</h1>
|
|
<group col="4">
|
|
<label for="date_start" string="Period"/>
|
|
<div>
|
|
<field name="date_start" class="oe_inline"/> - <field name="date_end" class="oe_inline"/>
|
|
</div>
|
|
<field name="credit_note"/>
|
|
</group>
|
|
<separator string="Payslips"/>
|
|
<field name="slip_ids"/>
|
|
</sheet>
|
|
</form>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="action_hr_payslip_run_tree" model="ir.actions.act_window">
|
|
<field name="name">Payslips Batches</field>
|
|
<field name="res_model">hr.payslip.run</field>
|
|
<field name="view_type">form</field>
|
|
<field name="view_id" ref="hr_payslip_run_tree"/>
|
|
<field name="search_view_id" ref="hr_payslip_run_filter"/>
|
|
</record>
|
|
<menuitem action="action_hr_payslip_run_tree" id="menu_hr_payslip_run" parent="menu_hr_root_payroll"/>
|
|
|
|
<!-- Shortcuts -->
|
|
|
|
<act_window name="Payslip Lines"
|
|
domain="[('register_id', '=', active_id)]"
|
|
context="{'default_register_id': active_id, 'search_default_register_id': 1}"
|
|
res_model="hr.payslip.line"
|
|
src_model="hr.contribution.register"
|
|
id="act_contribution_reg_payslip_lines"/>
|
|
|
|
</data>
|
|
</openerp>
|
|
|