<?xml version="1.0" encoding="utf-8"?>
<odoo>
    <data>
        <record id="view_xeno_leave_validation_rule_list" model="ir.ui.view">
            <field name="name">xeno.leave.validation.rule.list</field>
            <field name="model">xeno.leave.validation.rule</field>
            <field name="arch" type="xml">
                <!-- editable so the admin can flip Enabled inline; core/per_type
                     rows show the toggle read-only (they can't be switched here). -->
                <list editable="bottom" create="false" delete="false"
                      decoration-muted="kind != 'toggle'">
                    <field name="sequence" widget="handle"/>
                    <field name="name" readonly="1"/>
                    <field name="category" readonly="1"/>
                    <field name="kind" readonly="1"/>
                    <field name="enabled" widget="boolean_toggle" readonly="kind != 'toggle'"/>
                    <field name="manage_hint" readonly="1" optional="show"/>
                    <field name="description" readonly="1" optional="hide"/>
                    <field name="code" readonly="1" optional="hide"/>
                </list>
            </field>
        </record>

        <record id="view_xeno_leave_validation_rule_form" model="ir.ui.view">
            <field name="name">xeno.leave.validation.rule.form</field>
            <field name="model">xeno.leave.validation.rule</field>
            <field name="arch" type="xml">
                <form>
                    <sheet>
                        <div class="oe_title">
                            <h1><field name="name" readonly="1"/></h1>
                        </div>
                        <group>
                            <group>
                                <field name="category" readonly="1"/>
                                <field name="kind" readonly="1"/>
                                <field name="code" readonly="1"/>
                            </group>
                            <group>
                                <field name="enabled" widget="boolean_toggle"
                                       readonly="kind != 'toggle'"/>
                                <div colspan="2" class="text-muted"
                                     invisible="kind == 'toggle'">
                                    This validation is not switchable here --
                                    <span invisible="kind != 'per_type'">it's configured on each Leave Type.</span>
                                    <span invisible="kind != 'core'">it's always enforced (Odoo core / approval-chain integrity).</span>
                                </div>
                            </group>
                        </group>
                        <group string="What it checks">
                            <field name="description" nolabel="1" readonly="1"/>
                        </group>
                        <group string="Where to manage its parameters" invisible="not manage_hint">
                            <field name="manage_hint" nolabel="1" readonly="1"/>
                        </group>
                    </sheet>
                </form>
            </field>
        </record>

        <record id="view_xeno_leave_validation_rule_search" model="ir.ui.view">
            <field name="name">xeno.leave.validation.rule.search</field>
            <field name="model">xeno.leave.validation.rule</field>
            <field name="arch" type="xml">
                <search>
                    <field name="name"/>
                    <field name="description"/>
                    <filter name="enabled" string="Enabled" domain="[('enabled', '=', True)]"/>
                    <filter name="disabled" string="Disabled" domain="[('enabled', '=', False)]"/>
                    <filter name="toggleable" string="Toggleable" domain="[('kind', '=', 'toggle')]"/>
                    <group>
                        <filter name="group_category" string="Stage" context="{'group_by': 'category'}"/>
                        <filter name="group_kind" string="Kind" context="{'group_by': 'kind'}"/>
                    </group>
                </search>
            </field>
        </record>

        <record id="action_xeno_leave_validation_rule" model="ir.actions.act_window">
            <field name="name">Leave Validations</field>
            <field name="res_model">xeno.leave.validation.rule</field>
            <field name="view_mode">list,form</field>
            <field name="search_view_id" ref="view_xeno_leave_validation_rule_search"/>
            <field name="context">{'search_default_group_category': 1}</field>
            <field name="help" type="html">
                <p class="o_view_nocontent_smiling_face">Every leave validation, in one place.</p>
                <p>Switch a <b>Toggleable</b> policy on or off here (takes effect immediately, no redeploy).
                   Rules marked <b>Configured per Leave Type</b> or <b>Always enforced</b> are shown for
                   visibility -- manage their parameters where the row's hint points.</p>
            </field>
        </record>
    </data>
    <data noupdate="1">
        <menuitem id="menu_xeno_leave_validations"
                  name="Leave Validations"
                  parent="menu_xeno_hr_root"
                  action="action_xeno_leave_validation_rule"
                  sequence="10"
                  groups="hr_holidays.group_hr_holidays_manager"/>
    </data>
</odoo>
