96 lines
4.9 KiB
XML
96 lines
4.9 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<odoo>
|
|
<!--
|
|
Helpdesk Ticket Report Views with 5-Star Rating Display
|
|
|
|
This file extends the helpdesk ticket analysis report views to ensure
|
|
proper display and handling of the 0-5 star rating scale.
|
|
|
|
Requirements: 4.1, 4.2, 4.4, 4.5
|
|
- Requirement 4.1: Display ratings using the 0-5 scale in reports
|
|
- Requirement 4.2: Calculate average ratings based on the 0-5 scale
|
|
- Requirement 4.4: Use 0-5 scale for filtering and grouping
|
|
- Requirement 4.5: Include 0-5 scale values in exports
|
|
-->
|
|
|
|
<!-- Extend Pivot View to Show 0-5 Scale -->
|
|
<record id="helpdesk_ticket_view_pivot_analysis_five_stars" model="ir.ui.view">
|
|
<field name="name">helpdesk.ticket.report.analysis.pivot.five.stars</field>
|
|
<field name="model">helpdesk.ticket.report.analysis</field>
|
|
<field name="inherit_id" ref="helpdesk.helpdesk_ticket_view_pivot_analysis"/>
|
|
<field name="arch" type="xml">
|
|
<!-- Make rating_avg visible and update label -->
|
|
<xpath expr="//field[@name='rating_avg']" position="attributes">
|
|
<attribute name="invisible">0</attribute>
|
|
<attribute name="string">Average Rating (0-5)</attribute>
|
|
</xpath>
|
|
|
|
<!-- Add rating_last_value as an optional measure -->
|
|
<xpath expr="//field[@name='rating_avg']" position="after">
|
|
<field name="rating_last_value" type="measure" string="Last Rating (1-5)" invisible="1"/>
|
|
</xpath>
|
|
</field>
|
|
</record>
|
|
|
|
<!-- Extend Graph View to Show 0-5 Scale -->
|
|
<record id="helpdesk_ticket_view_graph_analysis_five_stars" model="ir.ui.view">
|
|
<field name="name">helpdesk.ticket.report.analysis.graph.five.stars</field>
|
|
<field name="model">helpdesk.ticket.report.analysis</field>
|
|
<field name="inherit_id" ref="helpdesk.helpdesk_ticket_view_graph_analysis"/>
|
|
<field name="arch" type="xml">
|
|
<!-- Make rating_avg visible and update label -->
|
|
<xpath expr="//field[@name='rating_avg']" position="attributes">
|
|
<attribute name="invisible">0</attribute>
|
|
<attribute name="string">Average Rating (0-5)</attribute>
|
|
</xpath>
|
|
|
|
<!-- Add rating_last_value as an optional measure -->
|
|
<xpath expr="//field[@name='rating_avg']" position="after">
|
|
<field name="rating_last_value" type="measure" string="Last Rating (1-5)" invisible="1"/>
|
|
</xpath>
|
|
</field>
|
|
</record>
|
|
|
|
<!-- Extend List View to Show Rating Values -->
|
|
<record id="helpdesk_ticket_report_analysis_view_tree_five_stars" model="ir.ui.view">
|
|
<field name="name">helpdesk.ticket.report.analysis.list.five.stars</field>
|
|
<field name="model">helpdesk.ticket.report.analysis</field>
|
|
<field name="inherit_id" ref="helpdesk.helpdesk_ticket_report_analysis_view_tree"/>
|
|
<field name="arch" type="xml">
|
|
<!-- Add rating fields to the list view -->
|
|
<xpath expr="//field[@name='stage_id']" position="after">
|
|
<field name="rating_last_value" optional="show" string="Last Rating (1-5)"/>
|
|
<field name="rating_avg" optional="hide" string="Avg Rating (0-5)"/>
|
|
</xpath>
|
|
</field>
|
|
</record>
|
|
|
|
<!-- Extend Search View to Add Rating Filters -->
|
|
<record id="helpdesk_ticket_report_analysis_view_search_five_stars" model="ir.ui.view">
|
|
<field name="name">helpdesk.ticket.report.analysis.search.five.stars</field>
|
|
<field name="model">helpdesk.ticket.report.analysis</field>
|
|
<field name="inherit_id" ref="helpdesk.helpdesk_ticket_report_analysis_view_search"/>
|
|
<field name="arch" type="xml">
|
|
<!-- Add rating-based filters -->
|
|
<xpath expr="//filter[@name='my_ticket']" position="after">
|
|
<separator/>
|
|
<filter string="Highly Rated (4-5 stars)" name="filter_high_rating"
|
|
domain="[('rating_last_value', '>=', 4)]"/>
|
|
<filter string="Medium Rated (3 stars)" name="filter_medium_rating"
|
|
domain="[('rating_last_value', '>=', 3), ('rating_last_value', '<', 4)]"/>
|
|
<filter string="Low Rated (1-2 stars)" name="filter_low_rating"
|
|
domain="[('rating_last_value', '>=', 1), ('rating_last_value', '<', 3)]"/>
|
|
<filter string="Has Rating" name="filter_has_rating"
|
|
domain="[('rating_last_value', '>', 0)]"/>
|
|
</xpath>
|
|
|
|
<!-- Add rating grouping options -->
|
|
<xpath expr="//group" position="inside">
|
|
<filter string="Rating Level" name="group_by_rating_level"
|
|
context="{'group_by': 'rating_last_value'}"/>
|
|
</xpath>
|
|
</field>
|
|
</record>
|
|
|
|
</odoo>
|