Server IP : 127.0.0.2 / Your IP : 3.17.156.160 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_expense/views/ |
Upload File : |
<?xml version="1.0" encoding="utf-8"?> <odoo> <record id="view_expenses_tree" model="ir.ui.view"> <field name="name">hr.expense.tree</field> <field name="model">hr.expense</field> <field name="arch" type="xml"> <tree string="Expenses" decoration-bf="message_unread == True"> <field name="currency_id" invisible="True"/> <field name="attachment_number" invisible="True"/> <field name="date"/> <field name="name"/> <field name="employee_id"/> <field name="sheet_id" invisible="not context.get('show_report', False)"/> <field name="analytic_account_id" groups="analytic.group_analytic_accounting"/> <field name="total_amount" sum="Total Amount" widget="monetary" options="{'currency_field': 'currency_id'}"/> <field name="state"/> <field name="message_unread" invisible="1"/> <button name="action_get_attachment_view" string="View Attached Documents" type="object" icon="fa-paperclip" attrs="{'invisible': [('attachment_number', '=', 0)]}"/> </tree> </field> </record> <record id="hr_expense_form_view" model="ir.ui.view"> <field name="name">hr.expense.form</field> <field name="model">hr.expense</field> <field eval="25" name="priority"/> <field name="arch" type="xml"> <form string="Expenses"> <header> <button name="submit_expenses" states="draft" string="Submit to Manager" type="object" class="oe_highlight o_expense_submit"/> <field name="state" widget="statusbar" statusbar_visible="draft,reported,done"/> <button name="view_sheet" type="object" string="View Report" class="oe_highlight" attrs="{'invisible': [('state', '=','draft')]}"/> </header> <sheet> <div class="oe_button_box"> <button name="action_get_attachment_view" class="oe_stat_button" icon="fa-book" type="object"> <field name="attachment_number" widget="statinfo" string="Documents"/> </button> </div> <div class="oe_title"> <label for="name"/> <h1> <field name="name" placeholder="e.g. Lunch with Customer"/> </h1> </div> <group> <group> <field name="product_id" context="{'default_can_be_expensed': 1}"/> <field name="unit_amount" required="1" widget="monetary" options="{'currency_field': 'currency_id'}"/> <label for="quantity"/> <div> <field name="quantity" class="oe_inline"/> <field name="product_uom_id" widget="selection" class="oe_inline" groups="product.group_uom"/> </div> <field name="tax_ids" domain="[('type_tax_use', '=', 'purchase')]" widget="many2many_tags" groups="base.group_no_one"/> </group><group> <field name="reference"/> <field name="date"/> <field name="account_id" domain="[('internal_type', '=', 'other')]"/> <field name="employee_id"/> <field name="sheet_id" invisible="1"/> <field name="currency_id" groups="base.group_multi_currency"/> <field name="analytic_account_id" groups="analytic.group_analytic_accounting"/> <field name="company_id" groups="base.group_multi_company"/> </group><group> <field name="total_amount" widget='monetary' options="{'currency_field': 'currency_id'}"/> <label for="payment_mode"/> <div> <field name="payment_mode" widget="radio"/> </div> </group> </group> <div> <field name="description" placeholder="Notes..."/> </div> </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="hr_expense_kanban_view" model="ir.ui.view"> <field name="name">hr.expense.kanban</field> <field name="model">hr.expense</field> <field name="arch" type="xml"> <kanban class="o_kanban_mobile"> <field name="name"/> <field name="employee_id"/> <field name="total_amount"/> <field name="date"/> <field name="state"/> <templates> <t t-name="kanban-box"> <div t-attf-class="oe_kanban_card oe_kanban_global_click"> <div class="row"> <div class="col-xs-6"> <strong><span><t t-esc="record.name.value"/></span></strong> </div> <div class="col-xs-6"> <strong><span class="pull-right text-right"><t t-esc="record.total_amount.value"/></span></strong> </div> </div> <div class="row"> <div class="col-xs-6 text-muted"> <span><t t-esc="record.employee_id.value"/> <t t-esc="record.date.value"/></span> </div> <div class="col-xs-6"> <span class="pull-right text-right"> <field name="state" widget="kanban_label_selection" options="{'classes': {'draft': 'default', 'submit': 'default', 'cancel': 'danger', 'post': 'warning', 'done': 'success'}}"/> </span> </div> </div> </div> </t> </templates> </kanban> </field> </record> <record id="hr_expense_view_pivot" model="ir.ui.view"> <field name="name">hr.expense.pivot</field> <field name="model">hr.expense</field> <field name="arch" type="xml"> <pivot string="Expenses Analysis"> <field name="employee_id" type="row"/> <field name="create_date" interval="month" type="col"/> <field name="total_amount" type="measure"/> </pivot> </field> </record> <record id="hr_expense_view_graph" model="ir.ui.view"> <field name="name">hr.expense.graph</field> <field name="model">hr.expense</field> <field name="arch" type="xml"> <graph string="Expenses Analysis"> <field name="employee_id" type="col"/> <field name="create_date" interval="month" type="row"/> <field name="total_amount" type="measure"/> </graph> </field> </record> <record id="view_hr_expense_filter" model="ir.ui.view"> <field name="name">hr.expense.filter</field> <field name="model">hr.expense</field> <field name="arch" type="xml"> <search string="Expense"> <field name="name" string="Expenses"/> <field name="date"/> <field name="employee_id"/> <field name="product_id"/> <field name="analytic_account_id" groups="analytic.group_analytic_accounting"/> <separator /> <filter domain="[('state', '=', 'draft')]" string="To Submit" name="to_report" help="New Expense"/> <filter domain="[('state', '=', 'reported')]" string="Reported" name="submitted" help="Confirmed Expenses"/> <filter domain="[('state', '=', 'refused')]" string="Refused" name="refused" help="Refused Expenses"/> <filter domain="[('state', '!=', 'cancel')]" string="Not Refused" name="uncancelled" help="Actual expense sheets, not the refused ones"/> <separator /> <filter string="My Team Expenses" domain="[('employee_id.parent_id.user_id', '=', uid)]" groups="hr_expense.group_hr_expense_manager" help="Expenses of Your Team Member"/> <filter string="My Expenses" domain="[('employee_id.user_id', '=', uid)]"/> <separator /> <filter string="New Mail" name="message_unread" domain="[('message_unread', '=', True)]"/> <group expand="0" string="Group By"> <filter string="Report" domain="[]" context="{'group_by': 'sheet_id'}"/> <filter string="Employee" domain="[]" context="{'group_by': 'employee_id'}"/> <filter string="Company" domain="[]" context="{'group_by': 'company_id'}" groups="base.group_multi_company"/> <filter string="Product" domain="[]" context="{'group_by': 'product_id'}"/> <filter string="Analytic Account" domain="[]" context="{'group_by': 'analytic_account_id'}" groups="analytic.group_analytic_accounting"/> <filter string="Expenses Month" domain="[]" context="{'group_by': 'date'}" help="Expenses by Month"/> <filter string="Status" domain="[]" context="{'group_by': 'state'}"/> </group> <separator /> <filter domain="[('employee_id.active', '=', False)]" string="Former Employees" name="inactive" groups="hr_expense.group_hr_expense_user,hr_expense.group_hr_expense_manager"/> </search> </field> </record> <record id="hr_expense_actions_all" model="ir.actions.act_window"> <field name="name">All Expenses</field> <field name="res_model">hr.expense</field> <field name="view_mode">pivot,graph,tree,kanban,form</field> <field name="search_view_id" ref="view_hr_expense_filter"/> <field name="help" type="html"> <p class="oe_view_nocontent_create"> Create a new expense.<br/> <!-- Or send receipts to .... --> </p><p> Expenses will go through these steps: </p><ol> <li>You record expenses</li> <li>Periodically, you submit expenses report to your manager,</li> <li>Once approved, your expenses report goes to the accounting,</li> <li>The accountant validates journal entries and reimburse you.</li> </ol> </field> </record> <record id="hr_expense_actions_my_unsubmitted" model="ir.actions.act_window"> <field name="name">My Expenses to Submit</field> <field name="res_model">hr.expense</field> <field name="view_mode">tree,kanban,form,graph,pivot</field> <field name="search_view_id" ref="view_hr_expense_filter"/> <field name="domain">[('employee_id.user_id', '=', uid)]</field> <field name="context">{'search_default_to_report': 1}</field> <field name="help" type="html"> <p> The steps to process expenses are: <ol> <li>You record expenses,</li> <li>Periodically, you submit expenses report to your manager,</li> <li>Once approved, your expense report, goes to the accounting,</li> <li>The accountant validates entries and reimburse you.</li> </ol> </p> </field> </record> <record id="action_hr_expense_refused_expenses" model="ir.actions.act_window"> <field name="name">Refused Expenses</field> <field name="res_model">hr.expense</field> <field name="view_mode">tree,kanban,form,graph,pivot</field> <field name="search_view_id" ref="view_hr_expense_filter"/> <field name="domain">[('employee_id.user_id', '=', uid)]</field> <field name="context">{'search_default_refused': 1}</field> <field name="help" type="html"> <p> The steps to process expenses are: <ol> <li>You record expenses,</li> <li>Periodically, you submit expenses report to your manager,</li> <li>Once approved, your expense report, goes to the accounting,</li> <li>The accountant validates entries and reimburse you.</li> </ol> </p> </field> </record> <record id="view_product_hr_expense_form" model="ir.ui.view"> <field name="name">product.template.expense.form</field> <field name="model">product.template</field> <field name="inherit_id" ref="product.product_template_form_view"/> <field name="arch" type="xml"> <div name="options" position="inside"> <div> <field name="can_be_expensed"/> <label for="can_be_expensed"/> </div> </div> </field> </record> <record id="product_product_expense_form_view" model="ir.ui.view"> <field name="name">product.product.expense.form</field> <field name="model">product.product</field> <field name="arch" type="xml"> <form string="Expense Products"> <sheet> <field name='product_variant_count' invisible='1'/> <field name="id" invisible="True"/> <div class="oe_button_box" name="button_box"> <button name="toggle_active" type="object" class="oe_stat_button" icon="fa-archive"> <field name="active" widget="boolean_button" options='{"terminology": "archive"}'/> </button> </div> <field name="image_medium" widget="image" class="oe_avatar"/> <div class="oe_title"> <label class="oe_edit_only" for="name" string="Product Name"/> <h1><field name="name" placeholder="e.g. Lunch"/></h1> <div name="options" groups="base.group_user" invisible="1"> <div> <field name="can_be_expensed"/> <label for="can_be_expensed"/> </div> </div> </div> <group> <group string="General Information"> <field name="type"/> <field name="standard_price"/> <field name="uom_id" groups="product.group_uom" options="{'no_create': True}"/> <field name="uom_po_id" invisible="1"/> <label for="default_code"/> <div> <field name="default_code"/> <i class="text-muted oe_edit_only">Use [Reference] as a subject prefix for incoming receipts</i> </div> </group> <group string="Accounting"> <field name="property_account_expense_id"/> <field name="supplier_taxes_id" widget="many2many_tags"/> </group> </group> </sheet> </form> </field> </record> <record id="hr_expense_product" model="ir.actions.act_window"> <field name="name">Expense Products</field> <field name="res_model">product.product</field> <field name="view_type">form</field> <field name="view_mode">kanban,tree,form</field> <field name="context">{"default_can_be_expensed": 1, 'default_type': 'service'}</field> <field name="domain">[('can_be_expensed', '=', True)]</field> <field name="help" type="html"> <p class="oe_view_nocontent_create"> Click to create a new expense category. </p> </field> </record> <record id="hr_expense_product_tree" model="ir.actions.act_window.view"> <field name="sequence" eval="2"/> <field name="view_mode">tree</field> <field name="act_window_id" ref="hr_expense_product"/> </record> <record id="hr_expense_product_kanban" model="ir.actions.act_window.view"> <field name="sequence" eval="1"/> <field name="view_mode">kanban</field> <field name="act_window_id" ref="hr_expense_product"/> </record> <record id="hr_expense_product_form" model="ir.actions.act_window.view"> <field name="sequence" eval="3"/> <field name="view_mode">form</field> <field name="view_id" ref="product_product_expense_form_view"/> <field name="act_window_id" ref="hr_expense_product"/> </record> <record id="action_approved_expense" model="ir.actions.act_window"> <field name="name">Employee Expenses</field> <field name="res_model">hr.expense</field> <field name="view_type">form</field> <field name="view_mode">tree,kanban,form,pivot,graph</field> <field name="view_id" ref="view_expenses_tree"/> <field name="domain">[]</field> <field name="context">{"search_default_approved": 1}</field> <field name="help" type="html"> <p> From here the accountant will be able to approve as well as refuse the expenses which are verified by the HR Manager. </p> </field> </record> <record id="action_approved_expense" model="ir.actions.act_window"> <field name="name">Unreported Expenses</field> <field name="res_model">hr.expense</field> <field name="view_type">form</field> <field name="view_mode">tree,kanban,form,pivot,graph</field> <field name="view_id" ref="view_expenses_tree"/> <field name="domain">[]</field> <field name="context">{"search_default_unsubmitted": 1}</field> <field name="help" type="html"> <p> From here the accountant will be able to approve as well as refuse the expenses which are verified by the HR Manager. </p> </field> </record> <record id="hr_expense_action" model="ir.actions.act_window"> <field name="name">Expenses Analysis</field> <field name="res_model">hr.expense</field> <field name="view_type">form</field> <field name="view_mode">pivot,graph</field> <field name="context">{ 'search_default_uncancelled': 1, } </field> </record> <record id="view_hr_expense_sheet_tree" model="ir.ui.view"> <field name="name">hr.expense.sheet.tree</field> <field name="model">hr.expense.sheet</field> <field name="arch" type="xml"> <tree string="Expense Reports" decoration-warning="state=='draft'" decoration-bf="message_unread == True"> <field name="name" string="Expense Sheet"/> <field name="accounting_date"/> <field name="employee_id"/> <field name="currency_id" invisible="1"/> <field name="total_amount" sum="Total Amount"/> <field name="state"/> <field name="message_unread" invisible="1"/> </tree> </field> </record> <record id="view_hr_expense_sheet_form" model="ir.ui.view"> <field name="name">hr.expense.sheet.form</field> <field name="model">hr.expense.sheet</field> <field eval="25" name="priority"/> <field name="arch" type="xml"> <form string="Expense Reports" class="o_expense_sheet"> <header> <button name="approve_expense_sheets" states="submit" string="Approve" type="object" groups="hr_expense.group_hr_expense_user" class="oe_highlight o_expense_sheet_approve"/> <button name="action_sheet_move_create" states="approve" string="Post Journal Entries" type="object" groups="account.group_account_user" class="oe_highlight o_expense_sheet_post"/> <button name="%(hr_expense.hr_expense_register_payment_wizard_action)d" type="action" string="Register Payment" class="oe_highlight o_expense_sheet_pay" attrs="{'invisible': [('state', '!=', 'post')]}" context="{'default_amount': total_amount, 'partner_id': address_id}" groups="account.group_account_user"/> <button name="reset_expense_sheets" states="cancel" string="Resubmit" type="object"/> <button name="%(hr_expense.hr_expense_refuse_wizard_action)d" states="submit" string="Refuse" type="action" groups="hr_expense.group_hr_expense_user" /> <button name="%(hr_expense.hr_expense_refuse_wizard_action)d" states="approve" string="Refuse" type="action" groups="account.group_account_user"/> <field name="state" widget="statusbar" statusbar_visible="draft,submit,approve,post,done"/> </header> <sheet> <div class="oe_button_box"> <button name="action_get_attachment_view" class="oe_stat_button" icon="fa-book" type="object"> <field name="attachment_number" widget="statinfo" string="Documents"/> </button> <button name="action_open_journal_entries" class="oe_stat_button" icon="fa-book" string="Accounting Entries" attrs="{'invisible': [('account_move_id', '=', False)]}" type="object"> </button> </div> <div class="oe_title"> <label for="name" class="oe_edit_only"/> <h1> <field name="name" placeholder="e.g. Trip to NY"/> </h1> </div> <group> <group> <field name="employee_id"/> <field name="payment_mode"/> <field name="responsible_id" invisible="1"/> <field name="total_amount" invisible="1"/> <field name="currency_id" invisible="1"/> <field name="address_id" invisible="1"/> <field name="department_id" invisible="1"/> <field name="company_id" groups="base.group_multi_company"/> </group> <group> <field name="journal_id" domain="[('type', '=', 'purchase')]" groups="account.group_account_user" options="{'no_open': True, 'no_create': True}" attrs="{'invisible': [('payment_mode', '!=', 'own_account')]}"/> <field name="bank_journal_id" groups="account.group_account_user" options="{'no_open': True, 'no_create': True}" attrs="{'invisible': [('payment_mode', '!=', 'company_account')]}" domain="[('type', 'in', ['cash', 'bank'])]"/> <field name="accounting_date" groups="account.group_account_user" attrs="{'invisible': [('state', 'not in', ['approve', 'post', 'done'])]}"/> <field name="account_move_id" invisible="1"/> </group> </group> <field name="expense_line_ids" nolabel="1" widget="many2many" domain="[('state', '=', 'draft')]" options="{'not_delete': True}"> <tree> <field name="date"/> <field name="name"/> <field name="state" invisible="1"/> <field name="currency_id" invisible="1"/> <field name="analytic_account_id" groups="analytic.group_analytic_accounting"/> <field name="message_unread" invisible="1"/> <field name="attachment_number" string=" "/> <button name="action_get_attachment_view" string="View Attachments" type="object" icon="fa-paperclip"/> <field name="tax_ids" widget="many2many_tags"/> <field name="total_amount" widget="monetary"/> </tree> </field> <group> <group class="oe_subtotal_footer oe_right" colspan="2" name="expense_total"> <field name="total_amount" widget='monetary' options="{'currency_field': 'currency_id'}"/> </group> </group> </sheet> <div class="oe_chatter"> <field name="message_follower_ids" widget="mail_followers"/> <field name="message_ids" widget="mail_thread"/> </div> </form> </field> </record> <record id="view_hr_expense_sheet_kanban" model="ir.ui.view"> <field name="name">hr.expense.sheet.kanban</field> <field name="model">hr.expense.sheet</field> <field name="arch" type="xml"> <kanban class="o_kanban_mobile"> <field name="name"/> <field name="employee_id"/> <field name="total_amount"/> <field name="accounting_date"/> <field name="state"/> <templates> <t t-name="kanban-box"> <div t-attf-class="oe_kanban_card oe_kanban_global_click"> <div class="row"> <div class="col-xs-6"> <strong><span><t t-esc="record.name.value"/></span></strong> </div> <div class="col-xs-6"> <strong><span class="pull-right text-right"><t t-esc="record.total_amount.value"/></span></strong> </div> </div> <div class="row"> <div class="col-xs-6 text-muted"> <span><t t-esc="record.employee_id.value"/> <t t-esc="record.accounting_date.value"/></span> </div> <div class="col-xs-6"> <span class="pull-right text-right"> <field name="state" widget="kanban_label_selection" options="{'classes': {'draft': 'default', 'submit': 'default', 'cancel': 'danger', 'post': 'warning', 'done': 'success'}}"/> </span> </div> </div> </div> </t> </templates> </kanban> </field> </record> <record id="view_hr_expense_sheet_pivot" model="ir.ui.view"> <field name="name">hr.expense.sheet.pivot</field> <field name="model">hr.expense.sheet</field> <field name="arch" type="xml"> <pivot string="Expenses Analysis" disable_linking="True"> <field name="employee_id" type="row"/> <field name="accounting_date" interval="month" type="col"/> <field name="total_amount" type="measure"/> </pivot> </field> </record> <record id="view_hr_expense_sheet_graph" model="ir.ui.view"> <field name="name">hr.expense.sheet.graph</field> <field name="model">hr.expense.sheet</field> <field name="arch" type="xml"> <graph string="Expenses Analysis"> <field name="employee_id" type="col"/> <field name="accounting_date" interval="month" type="row"/> <field name="total_amount" type="measure"/> </graph> </field> </record> <record id="view_hr_expense_sheet_filter" model="ir.ui.view"> <field name="name">hr.expense.sheet.filter</field> <field name="model">hr.expense.sheet</field> <field name="arch" type="xml"> <search string="Expense"> <field name="name" string="Expenses"/> <field name="accounting_date"/> <field name="state"/> <field name="employee_id"/> <field name="department_id" string="Department"/> <separator /> <filter domain="[('state', '=', 'submit')]" string="To Approve" name="submitted" help="Confirmed Expenses"/> <filter domain="[('state', '=', 'approve')]" string="To Post" name="to_post" help="Approved Expenses"/> <filter domain="['|', ('state', '=', 'approve'), ('state', '=', 'post')]" string="To Pay" name="approved" help="Expenses to Invoice"/> <separator/> <filter string="My Team Reports" domain="[('employee_id.parent_id.user_id', '=', uid)]" groups="hr_expense.group_hr_expense_manager" help="Expenses of Your Team Member"/> <filter string="My Reports" domain="[('employee_id.user_id', '=', uid)]"/> <separator /> <filter string="New Mail" name="message_unread" domain="[('message_unread', '=', True)]"/> <group expand="0" string="Group By"> <filter string="Employee" domain="[]" context="{'group_by': 'employee_id'}"/> <filter string="Department" domain="[]" context="{'group_by': 'department_id'}"/> <filter string="Company" domain="[]" context="{'group_by': 'company_id'}" groups="base.group_multi_company"/> <filter string="Expenses Month" domain="[]" context="{'group_by': 'accounting_date'}" help="Expenses by Month"/> <filter string="State" domain="[]" context="{'group_by': 'state'}" name="state"/> </group> <separator /> <filter domain="[('employee_id.active', '=', False)]" string="Former Employees" name="inactive" groups="hr_expense.group_hr_expense_user,hr_expense.group_hr_expense_manager"/> </search> </field> </record> <record id="action_hr_expense_sheet_my_all" model="ir.actions.act_window"> <field name="name">My Reports</field> <field name="res_model">hr.expense.sheet</field> <field name="view_mode">tree,kanban,form,pivot,graph</field> <field name="search_view_id" ref="view_hr_expense_sheet_filter"/> <field name="domain">[('employee_id.user_id', '=', uid)]</field> <field name="context">{}</field> <field name="help" type="html"> <p class="oe_view_nocontent_create"> Click here to create a new expense report. </p><p> Once you have created your expense, submit it to your manager who will validate it. </p> </field> </record> <record id="action_hr_expense_sheet_all_to_approve" model="ir.actions.act_window"> <field name="name">Expense Reports to Approve</field> <field name="res_model">hr.expense.sheet</field> <field name="view_mode">tree,kanban,form,pivot,graph</field> <field name="search_view_id" ref="view_hr_expense_sheet_filter"/> <field name="domain">[]</field> <field name="context">{'search_default_submitted': 1}</field> <field name="help" type="html"> <p class="oe_view_nocontent_create"> Click here to create a new expense report. </p><p> Once you have created your expense, submit it to your manager who will validate it. </p> </field> </record> <record id="action_hr_expense_sheet_all_to_post" model="ir.actions.act_window"> <field name="name">Expense Reports To Post</field> <field name="res_model">hr.expense.sheet</field> <field name="view_mode">tree,kanban,form,pivot,graph</field> <field name="search_view_id" ref="view_hr_expense_sheet_filter"/> <field name="domain">[]</field> <field name="context">{'search_default_to_post': 1}</field> <field name="help" type="html"> <p class="oe_view_nocontent_create"> Click here to create a new expense report. </p><p> Once you have created your expense, submit it to your manager who will validate it. </p> </field> </record> <record id="action_hr_expense_sheet_all_to_pay" model="ir.actions.act_window"> <field name="name">Expense Reports To Pay</field> <field name="res_model">hr.expense.sheet</field> <field name="view_mode">tree,kanban,form,pivot,graph</field> <field name="search_view_id" ref="view_hr_expense_sheet_filter"/> <field name="domain">[]</field> <field name="context">{'search_default_approved': 1}</field> <field name="help" type="html"> <p class="oe_view_nocontent_create"> Click here to create a new expense report. </p><p> Once you have created your expense, submit it to your manager who will validate it. </p> </field> </record> <record id="action_hr_expense_sheet_all_all" model="ir.actions.act_window"> <field name="name">All Expense Reports</field> <field name="res_model">hr.expense.sheet</field> <field name="view_mode">pivot,graph,tree,kanban,form</field> <field name="search_view_id" ref="view_hr_expense_sheet_filter"/> <field name="domain">[]</field> <field name="context">{}</field> <field name="help" type="html"> <p class="oe_view_nocontent_create"> Click here to create a new expense report. </p><p> Once you have created your expense, submit it to your manager who will validate it. </p> </field> </record> <record id="action_request_approve_expense_sheet" model="ir.actions.act_window"> <field name="name">Reports to Approve</field> <field name="res_model">hr.expense.sheet</field> <field name="view_type">form</field> <field name="view_mode">tree,kanban,form,pivot,graph</field> <field name="context">{'search_default_submitted': 1, 'needaction_menu_ref': 'hr_expense.menu_hr_expense_all'}</field> <field name="search_view_id" ref="view_hr_expense_sheet_filter"/> <field name="view_id" ref="view_hr_expense_sheet_tree"/> <field name="help" type="html"> <p class="oe_view_nocontent_create"> Click here to create new expenses. </p><p> Once you have created your expense, submit it to your manager who will validate it. </p> </field> </record> <record id="action_request_to_post_expense_sheet" model="ir.actions.act_window"> <field name="name">Reports to Post</field> <field name="res_model">hr.expense.sheet</field> <field name="view_type">form</field> <field name="view_mode">tree,kanban,form,pivot,graph</field> <field name="context">{'search_default_to_post': 1, 'needaction_menu_ref': 'hr_expense.menu_hr_expense_all'}</field> <field name="search_view_id" ref="view_hr_expense_sheet_filter"/> <field name="view_id" ref="view_hr_expense_sheet_tree"/> <field name="help" type="html"> <p class="oe_view_nocontent_create"> Click here to create new expenses. </p><p> Once you have created your expense, submit it to your manager who will validate it. </p> </field> </record> <record id="action_request_to_pay_expense_sheet" model="ir.actions.act_window"> <field name="name">Reports to Pay</field> <field name="res_model">hr.expense.sheet</field> <field name="view_type">form</field> <field name="view_mode">tree,kanban,form,pivot,graph</field> <field name="context">{'search_default_approved': 1, 'needaction_menu_ref': 'hr_expense.menu_hr_expense_all'}</field> <field name="search_view_id" ref="view_hr_expense_sheet_filter"/> <field name="view_id" ref="view_hr_expense_sheet_tree"/> <field name="help" type="html"> <p class="oe_view_nocontent_create"> Click here to create new expenses. </p><p> Once you have created your expense, submit it to your manager who will validate it. </p> </field> </record> <record id="action_hr_expense_sheet_department_to_approve" model="ir.actions.act_window"> <field name="name">Expense Reports to Approve</field> <field name="res_model">hr.expense.sheet</field> <field name="view_type">form</field> <field name="view_mode">tree,kanban,form,pivot,graph</field> <field name="search_view_id" ref="view_hr_expense_sheet_filter"/> <field name="context">{ 'search_default_submitted': 1, 'search_default_department_id': [active_id], 'default_department_id': active_id } </field> </record> <record id="action_hr_expense_sheet_department_filtered" model="ir.actions.act_window"> <field name="name">Expense Reports Analysis</field> <field name="res_model">hr.expense.sheet</field> <field name="view_type">form</field> <field name="view_mode">pivot,graph</field> <field name="context">{ 'search_default_department_id': [active_id], 'default_department_id': active_id} </field> </record> <record id="hr_expense_submit_action_server" model="ir.actions.server"> <field name="name">Submit To Manager</field> <field name="type">ir.actions.server</field> <field name="model_id" ref="model_hr_expense"/> <field name="state">code</field> <field name="code"> if records: action = records.submit_expenses() </field> </record> <record id="action_hr_expense_submit" model="ir.values"> <field name="name">Submit To Manager</field> <field name="model_id" ref="model_hr_expense"/> <field name="model">hr.expense</field> <field name="key2">client_action_multi</field> <field eval="'ir.actions.server,%d'%hr_expense_submit_action_server" name="value"/> </record> <menuitem id="menu_hr_expense_root" name="Expenses" sequence="100" web_icon="hr_expense,static/description/icon.png"/> <menuitem id="menu_hr_expense_my_expenses" name="My Expenses" sequence="1" parent="menu_hr_expense_root" groups="base.group_user"/> <menuitem id="menu_hr_expense_my_expenses_to_submit" name="Expenses to Submit" sequence="1" parent="menu_hr_expense_my_expenses" action="hr_expense_actions_my_unsubmitted"/> <menuitem id="menu_hr_expense_my_expenses_refused" name="Refused Expenses" sequence="2" parent="menu_hr_expense_my_expenses" action="action_hr_expense_refused_expenses"/> <menuitem id="menu_hr_expense_sheet_my_reports" name="Expense Reports" sequence="3" parent="menu_hr_expense_my_expenses" action="action_hr_expense_sheet_my_all" load_xmlid="True"/> <menuitem id="menu_hr_expense_to_approve" name="To Approve" sequence="2" parent="menu_hr_expense_root" groups="hr_expense.group_hr_expense_user"/> <menuitem id="menu_hr_expense_sheet_all_to_approve" name="Expense Reports To Approve" sequence="1" parent="menu_hr_expense_to_approve" action="action_hr_expense_sheet_all_to_approve"/> <menuitem id="menu_hr_expense_accountant" name="Accountant" sequence="3" parent="menu_hr_expense_root" groups="hr_expense.group_hr_expense_manager"/> <menuitem id="menu_hr_expense_sheet_all_to_post" name="Expense Reports To Post" sequence="2" parent="menu_hr_expense_accountant" action="action_hr_expense_sheet_all_to_post"/> <menuitem id="menu_hr_expense_sheet_all_to_pay" name="Expense Reports To Pay" sequence="3" parent="menu_hr_expense_accountant" action="action_hr_expense_sheet_all_to_pay"/> <menuitem id="menu_hr_expense_reports" name="Reports" sequence="4" parent="menu_hr_expense_root" groups="hr_expense.group_hr_expense_manager"/> <menuitem id="menu_hr_expense_all_expenses" name="All Expenses" sequence="0" parent="menu_hr_expense_reports" action="hr_expense_actions_all"/> <menuitem id="menu_hr_expense_sheet_all_all" name="All Expense Reports" sequence="4" parent="menu_hr_expense_reports" action="action_hr_expense_sheet_all_all" groups="hr_expense.group_hr_expense_manager"/> <menuitem id="menu_hr_expense_configuration" name="Configuration" parent="menu_hr_expense_root" sequence="100"/> <menuitem id="menu_hr_product" name="Expense Products" parent="menu_hr_expense_configuration" action="hr_expense_product" groups="hr_expense.group_hr_expense_manager" sequence="10"/> </odoo>