<?xml version="1.0" encoding="utf-8"?>
<odoo>
    <!-- Add Holiday quick-create dialog, mirroring XENHR HolidaysPage's
         Add Holiday modal: name, single date, Public/Company radio,
         optional description, recurring-yearly checkbox. Replaces the
         stock name-only "New Event" popup via quick_create_view_id on
         the calendar arch below (must be defined first so the %()d
         reference resolves). priority 1000 so it never becomes the
         model's default form view. -->
    <record id="view_resource_calendar_leaves_quick_create_xeno" model="ir.ui.view">
        <field name="name">resource.calendar.leaves.quickcreate.xeno.holidays</field>
        <field name="model">resource.calendar.leaves</field>
        <field name="priority">1000</field>
        <field name="arch" type="xml">
            <form>
                <group>
                    <field name="name" string="Holiday Name" required="1"
                           placeholder="e.g. Independence Day"/>
                    <field name="xeno_date" required="1"/>
                    <field name="xeno_holiday_type" widget="radio"
                           options="{'horizontal': true}"/>
                    <field name="xeno_remark" string="Description (optional)"
                           placeholder="Brief note..."/>
                    <field name="xeno_recurring_yearly"/>
                </group>
                <footer>
                    <button string="Add Holiday" special="save"
                            class="btn-primary" data-hotkey="q"/>
                    <button string="Cancel" special="cancel"
                            class="btn-secondary" data-hotkey="x"/>
                </footer>
            </form>
        </field>
    </record>

    <!-- Calendar view for the Holidays page, colored by Public/Company
         type, mirroring the Calendar view mode + blue/purple type styling
         in xenhr_frontend's HolidaysPage.tsx. Bound explicitly below so it
         wins over the generic resource_id-colored calendar view that
         already exists on this model for the per-employee Resource Time
         Off admin screen. -->
    <record id="view_resource_calendar_leaves_calendar_xeno" model="ir.ui.view">
        <field name="name">resource.calendar.leaves.calendar.xeno.holidays</field>
        <field name="model">resource.calendar.leaves</field>
        <field name="arch" type="xml">
            <calendar date_start="date_from" date_stop="date_to" mode="month"
                      string="Holidays" color="xeno_holiday_type"
                      event_limit="5" quick_create="1"
                      quick_create_view_id="%(xeno_holidays.view_resource_calendar_leaves_quick_create_xeno)d">
                <field name="name"/>
                <field name="xeno_holiday_type" filters="1"/>
                <field name="xeno_remark"/>
            </calendar>
        </field>
    </record>

    <!-- Type field on the Holidays list -->
    <record id="view_resource_calendar_leaves_tree_xeno" model="ir.ui.view">
        <field name="name">resource.calendar.leaves.list.xeno.holidays</field>
        <field name="model">resource.calendar.leaves</field>
        <field name="inherit_id" ref="hr_holidays.resource_calendar_leaves_tree_inherit"/>
        <field name="arch" type="xml">
            <field name="name" position="after">
                <field name="xeno_holiday_type"/>
                <field name="xeno_remark"/>
            </field>
        </field>
    </record>

    <!-- Type field on the Holiday form -->
    <record id="view_resource_calendar_leaves_form_xeno" model="ir.ui.view">
        <field name="name">resource.calendar.leaves.form.xeno.holidays</field>
        <field name="model">resource.calendar.leaves</field>
        <field name="inherit_id" ref="hr_holidays.resource_calendar_leave_form_inherit"/>
        <field name="arch" type="xml">
            <field name="holiday_id" position="after">
                <field name="xeno_holiday_type"/>
                <field name="xeno_remark"/>
            </field>
            <field name="date_to" position="after">
                <field name="xeno_recurring_yearly"/>
            </field>
        </field>
    </record>

    <!-- Public/Company filters + group-by on the Holidays search, mirroring
         HolidaysPage.tsx's All/Public/Company toolbar chips -->
    <record id="view_resource_calendar_leaves_search_xeno" model="ir.ui.view">
        <field name="name">resource.calendar.leaves.search.xeno.holidays</field>
        <field name="model">resource.calendar.leaves</field>
        <field name="inherit_id" ref="hr_holidays.resource_calendar_leaves_view_search_inherit"/>
        <field name="arch" type="xml">
            <xpath expr="//search" position="inside">
                <filter name="xeno_type_public" string="Public"
                        domain="[('xeno_holiday_type', '=', 'public')]"/>
                <filter name="xeno_type_company" string="Company"
                        domain="[('xeno_holiday_type', '=', 'company')]"/>
                <group>
                    <filter name="xeno_group_type" string="Type"
                            context="{'group_by': 'xeno_holiday_type'}"/>
                </group>
            </xpath>
        </field>
    </record>

    <!-- Rename the page + menu from "Public Holidays" to "Holidays", and
         add the calendar view mode -->
    <record id="hr_holidays.open_view_public_holiday" model="ir.actions.act_window">
        <field name="name">Holidays</field>
        <field name="view_mode">calendar,list,form</field>
    </record>

    <record id="action_hr_holidays_public_holidays_calendar_xeno" model="ir.actions.act_window.view">
        <field name="sequence">1</field>
        <field name="view_mode">calendar</field>
        <field name="view_id" ref="view_resource_calendar_leaves_calendar_xeno"/>
        <field name="act_window_id" ref="hr_holidays.open_view_public_holiday"/>
    </record>

    <record id="hr_holidays.hr_holidays_public_time_off_menu_configuration" model="ir.ui.menu">
        <field name="name">Holidays</field>
    </record>
</odoo>
