<?xml version="1.0" encoding="utf-8"?>
<odoo>

    <record id="view_helpdesk_dashboard_form" model="ir.ui.view">
        <field name="name">so.helpdesk.dashboard.form</field>
        <field name="model">so.helpdesk.dashboard</field>
        <field name="arch" type="xml">
            <form string="Dashboard" create="0" delete="0" edit="0">
                <sheet>
                    <div class="o_so_helpdesk_dashboard">
                        <div class="o_so_helpdesk_brand mb-3">
                            <img src="/so_helpdesk/static/img/logo.png"
                                 alt="Helpdesk"
                                 class="o_so_helpdesk_logo"/>
                            <h1 class="mb-0">Helpdesk Dashboard</h1>
                        </div>
                        <div class="row g-3 mb-4">
                            <div class="col-md-2">
                                <button name="action_open_open_tickets" type="object"
                                        class="btn btn-outline-primary w-100 p-3">
                                    <div class="fs-2 fw-bold"><field name="open_count" readonly="1"/></div>
                                    <div>Open</div>
                                </button>
                            </div>
                            <div class="col-md-2">
                                <button name="action_open_closed_tickets" type="object"
                                        class="btn btn-outline-success w-100 p-3">
                                    <div class="fs-2 fw-bold"><field name="closed_count" readonly="1"/></div>
                                    <div>Closed</div>
                                </button>
                            </div>
                            <div class="col-md-2">
                                <button name="action_open_archived_tickets" type="object"
                                        class="btn btn-outline-secondary w-100 p-3">
                                    <div class="fs-2 fw-bold"><field name="archived_count" readonly="1"/></div>
                                    <div>Archived</div>
                                </button>
                            </div>
                            <div class="col-md-2">
                                <button name="action_open_needs_escalation" type="object"
                                        class="btn btn-outline-warning w-100 p-3">
                                    <div class="fs-2 fw-bold"><field name="needs_escalation_count" readonly="1"/></div>
                                    <div>Needs Escalation</div>
                                </button>
                            </div>
                            <div class="col-md-2">
                                <button name="action_open_escalated_tickets" type="object"
                                        class="btn btn-outline-danger w-100 p-3">
                                    <div class="fs-2 fw-bold"><field name="escalated_count" readonly="1"/></div>
                                    <div>Escalated</div>
                                </button>
                            </div>
                            <div class="col-md-2">
                                <button name="action_open_rated_tickets" type="object"
                                        class="btn btn-outline-info w-100 p-3">
                                    <div class="fs-2 fw-bold"><field name="avg_rating" readonly="1"/> ★</div>
                                    <div><field name="rating_count" readonly="1"/> ratings</div>
                                </button>
                            </div>
                        </div>

                        <group string="Customer Satisfaction">
                            <group>
                                <field name="avg_rating" readonly="1"/>
                                <field name="rating_count" readonly="1"/>
                            </group>
                            <group>
                                <field name="rating_1_count" readonly="1"/>
                                <field name="rating_2_count" readonly="1"/>
                                <field name="rating_3_count" readonly="1"/>
                            </group>
                        </group>

                        <notebook>
                            <page string="Escalated Tickets" name="escalated">
                                <field name="escalated_ticket_ids" readonly="1">
                                    <tree>
                                        <field name="ticket_ref"/>
                                        <field name="name"/>
                                        <field name="team_id"/>
                                        <field name="escalated_to"/>
                                        <field name="escalated_date"/>
                                        <field name="priority" widget="priority"/>
                                    </tree>
                                </field>
                            </page>
                            <page string="Recent Activity" name="activity">
                                <field name="recent_activity_ids" readonly="1">
                                    <tree>
                                        <field name="date"/>
                                        <field name="author_id"/>
                                        <field name="res_id"/>
                                        <field name="subject"/>
                                        <field name="body" widget="html"/>
                                    </tree>
                                </field>
                            </page>
                        </notebook>
                    </div>
                </sheet>
            </form>
        </field>
    </record>

    <record id="action_helpdesk_dashboard_server" model="ir.actions.server">
        <field name="name">Dashboard</field>
        <field name="model_id" ref="model_so_helpdesk_dashboard"/>
        <field name="state">code</field>
        <field name="code">
dashboard = env['so.helpdesk.dashboard'].create({})
action = {
    'type': 'ir.actions.act_window',
    'name': 'Dashboard',
    'res_model': 'so.helpdesk.dashboard',
    'view_mode': 'form',
    'res_id': dashboard.id,
    'target': 'current',
}
        </field>
    </record>

</odoo>
