Files
odoo_source/addons/hr_payroll/hr_payroll_view.xml
T
ged-odoo 74168c4e9d Merge pull request #272 from odoo-dev/master-inline-searchview-ged
[MERGP] Inline Searchview

This task split the searchview in two parts: SearchView and SearchViewDrawer. The drawer is displayed inside the main view and the searchview stays in place.  It also changes the scrolling behavior of the web client: the main view area can scroll without affecting the UI (so the various menus stays in place)

Because of this, other large changes have been made:

the drawer has been redesigned,
the Custom Filter widget has been split in two (Custom Report and SaveCurrentFilter),
the main view is now scrollable, so the UI stays in place and only the view can change
The text 'Group By...' has been changed into 'Group By' (most addons had to be modified)
bootstrap classes are used when it makes sense (for example, badge)
the left menu is also scrollable (separately from the main view)

It is likely that some stupid bugs have been introduced.  Please don't hurt me.
2014-06-12 16:27:11 +02:00

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" widget="selection"/>
</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" widget="selection"/>
</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" widget="selection"/>
</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','&lt;&gt;','fix')]}"/>
<field name="amount_percentage" attrs="{'readonly':[('amount_select','&lt;&gt;','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" widget="selection"/>
<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','&lt;=',date_to),'|',('date_end','&gt;=',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','&lt;&gt;',False)]}"/>
<field name="name"/>
<field name="credit_note"/>
</group>
<notebook>
<page string="Worked Days &amp; 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" widget="selection"/>
</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" widget="selection" 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" widget="selection"/>
</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" widget="selection" 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','&lt;&gt;','python')], 'required': [('condition_select','=','python')]}" colspan="4"/> <newline/>
<field name="condition_range" attrs="{'invisible':[('condition_select','&lt;&gt;','range')], 'required':[('condition_select','=','range')]}"/><newline/>
<field name="condition_range_min" colspan="2" attrs="{'invisible':[('condition_select','&lt;&gt;','range')], 'required':[('condition_select','=','range')]}"/><newline/>
<field name="condition_range_max" colspan="2" attrs="{'invisible':[('condition_select','&lt;&gt;','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','&lt;&gt;','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','&lt;&gt;','fix')], 'required':[('amount_select','=','fix')]}"/><newline/>
<field colspan="4" name="amount_python_compute" attrs="{'invisible':[('amount_select','&lt;&gt;','code')], 'required':[('amount_select','=','code')]}"/>
<field name="amount_percentage" attrs="{'invisible':[('amount_select','&lt;&gt;','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>