<?xml version="1.0" encoding="utf-8"?>
<odoo>
    <data>
        <record id="view_xeno_audit_log_list" model="ir.ui.view">
            <field name="name">xeno.audit.log.list</field>
            <field name="model">xeno.audit.log</field>
            <field name="arch" type="xml">
                <list string="Audit Log" create="false" edit="false" delete="false">
                    <field name="create_date" string="When"/>
                    <field name="model_name" string="Table"/>
                    <field name="record_display_name" string="Record"/>
                    <field name="action" decoration-success="action == 'created'"
                           decoration-info="action == 'updated'"
                           decoration-danger="action == 'deleted'" widget="badge"/>
                    <field name="user_id" string="Performed By"/>
                    <field name="ip_address"/>
                </list>
            </field>
        </record>

        <record id="view_xeno_audit_log_form" model="ir.ui.view">
            <field name="name">xeno.audit.log.form</field>
            <field name="model">xeno.audit.log</field>
            <field name="arch" type="xml">
                <form string="Audit Log Entry" create="false" edit="false" delete="false">
                    <sheet>
                        <group>
                            <group>
                                <field name="model_name"/>
                                <field name="res_id"/>
                                <field name="record_display_name"/>
                                <field name="action"/>
                            </group>
                            <group>
                                <field name="create_date" string="When"/>
                                <field name="user_id"/>
                                <field name="ip_address"/>
                            </group>
                        </group>
                        <group string="Before">
                            <field name="old_values" nolabel="1" widget="text"/>
                        </group>
                        <group string="After">
                            <field name="new_values" nolabel="1" widget="text"/>
                        </group>
                    </sheet>
                </form>
            </field>
        </record>

        <record id="view_xeno_audit_log_search" model="ir.ui.view">
            <field name="name">xeno.audit.log.search</field>
            <field name="model">xeno.audit.log</field>
            <field name="arch" type="xml">
                <search string="Search Audit Log">
                    <field name="model_name" string="Table"/>
                    <field name="record_display_name" string="Record"/>
                    <field name="user_id"/>
                    <filter name="filter_create_date" date="create_date" string="When"/>
                    <filter name="action_created" string="Created" domain="[('action', '=', 'created')]"/>
                    <filter name="action_updated" string="Updated" domain="[('action', '=', 'updated')]"/>
                    <filter name="action_deleted" string="Deleted" domain="[('action', '=', 'deleted')]"/>
                    <group>
                        <filter name="group_model_name" string="Table" context="{'group_by': 'model_name'}"/>
                        <filter name="group_action" string="Action" context="{'group_by': 'action'}"/>
                        <filter name="group_user" string="Performed By" context="{'group_by': 'user_id'}"/>
                    </group>
                </search>
            </field>
        </record>

        <record id="action_xeno_audit_log" model="ir.actions.act_window">
            <field name="name">Audit Log</field>
            <field name="res_model">xeno.audit.log</field>
            <field name="view_mode">list,form</field>
            <field name="search_view_id" ref="view_xeno_audit_log_search"/>
            <field name="context">{"search_default_filter_create_date": 1}</field>
            <field name="help" type="html">
                <p class="o_view_nocontent_smiling_face">No audit entries yet.</p>
                <p>Every create/update/delete on the audited HR models (Employees,
                   Leave, Allocations, Leave Types, Approvers, Resignations,
                   Attendance Overrides) is logged here automatically.</p>
            </field>
        </record>
    </data>
    <data noupdate="1">
        <menuitem id="menu_xeno_audit_log"
                  name="Audit Log"
                  parent="hr.hr_menu_hr_reports"
                  action="action_xeno_audit_log"
                  groups="hr.group_hr_manager"
                  sequence="90"/>

        <!-- Shortcut into the "HR" app's Reports group
             (xeno_leave.menu_xeno_hr_reports), same action as above; nothing
             moved, this module already depends on xeno_leave. -->
        <menuitem id="menu_xeno_hr_reports_audit_log"
                  name="Audit Log"
                  parent="xeno_leave.menu_xeno_hr_reports"
                  action="action_xeno_audit_log"
                  groups="hr.group_hr_manager"
                  sequence="3"/>
    </data>
</odoo>
