<?xml version="1.0" encoding="utf-8"?>
<odoo>
    <record id="hr_expense_form_view_inherit_sale_expense" model="ir.ui.view">
        <field name="name">hr.expense.form.inherit.sale.expense</field>
        <field name="model">hr.expense</field>
        <field name="inherit_id" ref="hr_expense.hr_expense_view_form"/>
        <field name="priority">30</field>
        <field name="arch" type="xml">
            <button name="action_open_account_move" position="after">
                <button name="action_open_sale_order"
                    class="oe_stat_button"
                    icon="fa-money"
                    type="object"
                    invisible="not sale_order_id">
                    <field name="sale_order_id" widget="statinfo" string="Sales Order"/>
                </button>
            </button>
            <xpath expr="//field[@name='analytic_distribution']" position="before">
                <field name="sale_order_id" groups="!sales_team.group_sale_salesman,!account.group_account_manager"
                    invisible="not can_be_reinvoiced"
                    readonly="not is_editable"
                    options="{'no_create_edit': True, 'no_create': True, 'no_open': True}"
                    context="{'sale_show_partner_name': True, 'sale_expense_all_order': True}"
                />
                <field name="sale_order_id" groups="sales_team.group_sale_salesman,!account.group_account_manager"
                    invisible="not can_be_reinvoiced"
                    readonly="not is_editable"
                    options="{'no_create_edit': True, 'no_create': True}"
                    context="{'sale_show_partner_name': True, 'sale_expense_all_order': True}"
                    widget="many2one"/>
                <field name="sale_order_id" groups="account.group_account_manager"
                    widget="many2one"
                    invisible="not can_be_reinvoiced"
                    readonly="not is_editable"
                    options="{'no_create_edit': True, 'no_create': True, 'no_open': True}"
                    context="{'sale_show_partner_name': True, 'sale_expense_all_order': True}"/>
                <field name="can_be_reinvoiced" invisible="1"/>
            </xpath>
        </field>
    </record>
    <record id="hr_expense_tree_view_inherit_sale_expense" model="ir.ui.view">
        <field name="name">hr.expense.list.inherit.sale.expense</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='date']" position="before">
                <field name="sale_order_id" optional="hide" invisible="not can_be_reinvoiced" readonly="state in ['posted', 'refused']" options="{'no_create_edit': True, 'no_create': True, 'no_open': True}"  context="{'sale_show_partner_name': True, 'sale_expense_all_order': True}"/>
                <field name="can_be_reinvoiced" readonly="1" column_invisible="True"/>
            </xpath>
        </field>
    </record>

    <record id="hr_expense_split_view_inherit_sale_expense" model="ir.ui.view">
        <field name="name">hr.expense.split.view.inherit.sale.expense</field>
        <field name="model">hr.expense.split.wizard</field>
        <field name="inherit_id" ref="hr_expense.hr_expense_split"/>
        <field name="arch" type="xml">
            <xpath expr="//field[@name='employee_id']" position="after">
                <field name="can_be_reinvoiced" column_invisible="True"/>
                <field name="sale_order_id" force_save="1" readonly="not can_be_reinvoiced"/>
            </xpath>
        </field>
    </record>

    <record id="hr_expense_action_from_sale_order" model="ir.actions.act_window">
        <field name="name">Expenses</field>
        <field name="res_model">hr.expense</field>
        <field name="view_mode">list,form</field>
        <field name="domain">[('sale_order_id', '=', active_id)]</field>
        <field name="context">{'default_sale_order_id': active_id}</field>
    </record>
</odoo>
