<?xml version="1.0" encoding="UTF-8"?>
<odoo>
    <data>
        <record id="view_xeno_hr_activity_list" model="ir.ui.view">
            <field name="name">xeno.hr.activity.list</field>
            <field name="model">xeno.hr.activity</field>
            <field name="arch" type="xml">
                <list>
                    <field name="name"/>
                    <field name="date_from"/>
                    <field name="date_to"/>
                    <field name="location"/>
                    <field name="host_id"/>
                    <field name="status" widget="badge"
                           decoration-info="status == 'planned'"
                           decoration-success="status == 'ongoing'"
                           decoration-muted="status in ('completed', 'cancelled')"/>
                    <field name="is_leave_restricted" string="Leave Restricted" widget="boolean_toggle"/>
                    <field name="create_uid" string="Created By" optional="hide"/>
                </list>
            </field>
        </record>

        <record id="view_xeno_hr_activity_form" model="ir.ui.view">
            <field name="name">xeno.hr.activity.form</field>
            <field name="model">xeno.hr.activity</field>
            <field name="arch" type="xml">
                <form>
                    <header>
                        <button name="action_create_announcement" type="object"
                                string="Create Announcement" class="btn-primary"
                                invisible="not id"
                                help="Pre-fills a new Announcement's title, dates, and content
                                      from this activity -- pick Target Audience and Send
                                      Email Notification yourself on that form, nothing sends
                                      automatically."/>
                        <field name="status" widget="statusbar" statusbar_visible="planned,ongoing,completed"/>
                    </header>
                    <sheet>
                        <group>
                            <group>
                                <field name="name"/>
                                <field name="location"/>
                                <field name="host_id"/>
                            </group>
                            <group>
                                <field name="date_from"/>
                                <field name="date_to"/>
                                <field name="is_leave_restricted"/>
                                <field name="create_uid" string="Created By" readonly="1"/>
                            </group>
                        </group>
                        <field name="description"/>
                    </sheet>
                    <chatter/>
                </form>
            </field>
        </record>

        <record id="view_xeno_hr_activity_calendar" model="ir.ui.view">
            <field name="name">xeno.hr.activity.calendar</field>
            <field name="model">xeno.hr.activity</field>
            <field name="arch" type="xml">
                <calendar string="Company Activities" date_start="date_from" date_stop="date_to"
                          color="status" mode="month" event_limit="5">
                    <field name="name"/>
                    <field name="location"/>
                    <field name="status"/>
                </calendar>
            </field>
        </record>

        <record id="view_xeno_hr_activity_search" model="ir.ui.view">
            <field name="name">xeno.hr.activity.search</field>
            <field name="model">xeno.hr.activity</field>
            <field name="arch" type="xml">
                <search>
                    <field name="name"/>
                    <field name="location"/>
                    <field name="host_id"/>
                    <filter name="upcoming" string="Upcoming"
                            domain="[('date_from', '&gt;=', context_today().strftime('%Y-%m-%d'))]"/>
                    <filter name="past" string="Past"
                            domain="[('date_to', '&lt;', context_today().strftime('%Y-%m-%d'))]"/>
                    <filter name="leave_restricted" string="Leave Restricted"
                            domain="[('is_leave_restricted', '=', True)]"/>
                    <filter name="inactive" string="Archived" domain="[('active', '=', False)]"/>
                    <group>
                        <filter name="group_by_status" string="Status" context="{'group_by': 'status'}"/>
                        <filter name="group_by_host" string="Host" context="{'group_by': 'host_id'}"/>
                    </group>
                </search>
            </field>
        </record>

        <record id="action_xeno_hr_activity" model="ir.actions.act_window">
            <field name="name">Company Activities</field>
            <field name="res_model">xeno.hr.activity</field>
            <field name="view_mode">calendar,list,form</field>
            <field name="search_view_id" ref="view_xeno_hr_activity_search"/>
            <field name="context">{'search_default_upcoming': 1}</field>
            <field name="help" type="html">
                <p class="o_view_nocontent_smiling_face">No company activities yet.</p>
                <p>Record a guest visit, town hall, or team event -- the Calendar view gives a
                   timeline of past and upcoming activities. Tick "Restrict Leave on These Dates"
                   to block self-service leave requests that overlap it.</p>
            </field>
        </record>
    </data>
    <data noupdate="1">
        <menuitem id="menu_xeno_hr_activity"
                  name="Company Activities"
                  parent="hr.menu_human_resources_configuration"
                  action="action_xeno_hr_activity"
                  groups="hr.group_hr_manager"/>
    </data>
</odoo>
