77 lines
4.0 KiB
XML
77 lines
4.0 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<odoo>
|
|
<!-- Expense Line Form View -->
|
|
<record id="hr_expense_view_form_inherit_receipt" model="ir.ui.view">
|
|
<field name="name">hr.expense.view.form.receipt</field>
|
|
<field name="model">hr.expense</field>
|
|
<field name="inherit_id" ref="hr_expense.hr_expense_view_form"/>
|
|
<field name="arch" type="xml">
|
|
<xpath expr="//field[@name='account_id']" position="after">
|
|
<field name="receipt_due_date" widget="date" invisible="not receipt_due_date"/>
|
|
<field name="receipt_received" widget="boolean_toggle" invisible="not receipt_due_date"/>
|
|
<field name="receipt_overdue" invisible="1"/>
|
|
</xpath>
|
|
<xpath expr="//sheet" position="before">
|
|
<div class="alert alert-danger mb-2" role="alert" invisible="not receipt_overdue">
|
|
This receipt is <strong>Overdue</strong>! Please submit the original receipt as soon as possible.
|
|
</div>
|
|
</xpath>
|
|
</field>
|
|
</record>
|
|
|
|
<!-- Expense Line Tree View -->
|
|
<record id="view_expenses_tree_inherit_receipt" model="ir.ui.view">
|
|
<field name="name">hr.expense.tree.receipt</field>
|
|
<field name="model">hr.expense</field>
|
|
<field name="inherit_id" ref="hr_expense.view_expenses_tree"/>
|
|
<field name="arch" type="xml">
|
|
<xpath expr="//field[@name='state']" position="after">
|
|
<field name="receipt_due_date" optional="show" widget="remaining_days" decoration-danger="receipt_overdue"/>
|
|
<field name="receipt_received" optional="show" widget="boolean_toggle"/>
|
|
<field name="receipt_overdue" column_invisible="True"/>
|
|
</xpath>
|
|
</field>
|
|
</record>
|
|
|
|
<!-- Expense Search View -->
|
|
<record id="hr_expense_view_search_inherit_receipt" model="ir.ui.view">
|
|
<field name="name">hr.expense.search.receipt</field>
|
|
<field name="model">hr.expense</field>
|
|
<field name="inherit_id" ref="hr_expense.hr_expense_view_search"/>
|
|
<field name="arch" type="xml">
|
|
<xpath expr="//filter[@name='no_report']" position="after">
|
|
<separator/>
|
|
<filter string="Overdue Receipts" name="filter_receipt_overdue" domain="[('receipt_overdue', '=', True), ('receipt_received', '=', False)]"/>
|
|
<filter string="Receipt Received" name="filter_receipt_received" domain="[('receipt_received', '=', True)]"/>
|
|
<filter string="Receipt Missing" name="filter_receipt_missing" domain="[('receipt_received', '=', False), ('receipt_due_date', '!=', False)]"/>
|
|
</xpath>
|
|
<xpath expr="//group" position="inside">
|
|
<filter string="Receipt Status" name="group_receipt_status" context="{'group_by': 'receipt_received'}"/>
|
|
<filter string="Receipt Due Date" name="group_receipt_due" context="{'group_by': 'receipt_due_date'}"/>
|
|
</xpath>
|
|
</field>
|
|
</record>
|
|
|
|
<!-- Report Action: Overdue Receipts -->
|
|
<record id="action_hr_expense_overdue_receipts" model="ir.actions.act_window">
|
|
<field name="name">Overdue Receipts</field>
|
|
<field name="res_model">hr.expense</field>
|
|
<field name="view_mode">list,pivot,form</field>
|
|
<field name="domain">[('receipt_overdue', '=', True), ('receipt_received', '=', False)]</field>
|
|
<field name="context">{'search_default_group_receipt_due': 1}</field>
|
|
<field name="help" type="html">
|
|
<p class="o_view_nocontent_smiling_face">
|
|
No overdue receipts found!
|
|
</p><p>
|
|
This report shows all expenses that have been paid but the original receipts haven't been submitted yet.
|
|
</p>
|
|
</field>
|
|
</record>
|
|
|
|
<menuitem id="menu_hr_expense_overdue_receipts"
|
|
name="Overdue Receipts"
|
|
parent="hr_expense.menu_hr_expense_reports"
|
|
action="action_hr_expense_overdue_receipts"
|
|
sequence="20"/>
|
|
</odoo>
|