Server IP : 127.0.0.2 / Your IP : 18.119.13.56 Web Server : Apache/2.4.18 (Ubuntu) System : User : www-data ( ) PHP Version : 7.0.33-0ubuntu0.16.04.16 Disable Function : disk_free_space,disk_total_space,diskfreespace,dl,exec,fpaththru,getmyuid,getmypid,highlight_file,ignore_user_abord,leak,listen,link,opcache_get_configuration,opcache_get_status,passthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,php_uname,phpinfo,posix_ctermid,posix_getcwd,posix_getegid,posix_geteuid,posix_getgid,posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid,posix,_getppid,posix_getpwnam,posix_getpwuid,posix_getrlimit,posix_getsid,posix_getuid,posix_isatty,posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid,posix_setpgid,posix_setsid,posix_setuid,posix_times,posix_ttyname,posix_uname,pclose,popen,proc_open,proc_close,proc_get_status,proc_nice,proc_terminate,shell_exec,source,show_source,system,virtual MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /opt/odoo/addons/hr_payroll/views/ |
Upload File : |
<?xml version="1.0" encoding="utf-8"?> <odoo> <!-- Root Menus --> <menuitem id="menu_hr_payroll_root" name="Payroll" sequence="45" web_icon="hr_payroll,static/description/icon.png"/> <menuitem id="menu_hr_payroll_configuration" name="Configuration" parent="menu_hr_payroll_root" sequence="100" groups="hr_payroll.group_hr_payroll_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"> <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> </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="menu_hr_payroll_configuration" 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="menu_hr_payroll_configuration" sequence="2" /> <!-- 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" decoration-info="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" name="category_id" context="{'group_by':'category_id'}"/> <filter string="Contribution Register" name="register_id" context="{'group_by':'register_id'}"/> <filter string="Amount Type" name="amount_select" context="{'group_by':'amount_select'}"/> <filter string="Employees" name="employee_id" 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 decoration-info="state in ('confirm','hr_check','accont_check')" decoration-muted="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="action_payslip_done" type="object" states="draft" class="oe_highlight"/> <button string="Refund" name="refund_sheet" states="confirm,done" type='object' /> <button string="Set to Draft" name="action_payslip_draft" type="object" states="cancel"/> <button string="Compute Sheet" name="compute_sheet" type="object" states="draft" class="oe_highlight"/> <button string="Cancel Payslip" name="action_payslip_cancel" type="object" states="draft,hr_check,confirm,verify"/> <field name="state" widget="statusbar" statusbar_visible="draft,confirm"/> </header> <sheet> <div class="oe_button_box" name="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" placeholder="Employee"/></h1> </div> <group col="4"> <label for="date_from" string="Period"/> <div> <field name="date_from" 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)]" 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="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="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" decoration-info="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="salary_rule_id"/> <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" decoration-info="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 string="Draft" domain="[('state','=','draft')]" help="Draft Slip"/> <filter 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" name="employee_id" context="{'group_by':'employee_id'}"/> <filter string="PaySlip Batch" name="payslip_run_id" context="{'group_by':'payslip_run_id'}"/> <filter string="Companies" name="company_id" groups="base.group_multi_company" context="{'group_by':'company_id'}"/> <filter string="States" name="state" 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_payroll_root" groups="hr_payroll.group_hr_payroll_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"> <div name="button_box" position="inside"> <button name="%(act_hr_employee_payslip_list)d" class="oe_stat_button" icon="fa-money" type="action" groups="hr.group_hr_user"> <field name="payslip_count" widget="statinfo" string="Payslips"/> </button> </div> </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"/> </group> <group string="Notes"> <field name="note" nolabel="1"/> </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="menu_hr_payroll_configuration" 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="menu_hr_payroll_configuration" sequence="12" 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="partner_id"/> <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="menu_hr_payroll_configuration" 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 name="rules" 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" 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="menu_hr_payroll_configuration" 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 string="Draft" domain="[('state','=','draft')]" help="Draft Payslip Batches"/> <filter name="done_filter" 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_payroll_root"/> <!-- 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"/> </odoo>