helpdesk_rating_five_stars/views/helpdesk_ticket_views.xml
2025-11-26 10:39:26 +07:00

72 lines
3.4 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!--
Helpdesk Ticket Views with 5-Star Rating Display
This file extends the standard Odoo helpdesk ticket views to display 5-star ratings
in form, tree, and kanban views.
Requirements: 5.1, 5.2, 5.4
- Requirement 5.1: Display ratings as filled star icons in ticket views
- Requirement 5.2: Display 3 filled stars and 2 empty stars for rating value of 3
- Requirement 5.4: Display star ratings in compact format for list views
-->
<!-- Extend Helpdesk Ticket Form View to Show Star Rating -->
<record id="helpdesk_ticket_view_form_stars" model="ir.ui.view">
<field name="name">helpdesk.ticket.form.stars</field>
<field name="model">helpdesk.ticket</field>
<field name="inherit_id" ref="helpdesk.helpdesk_ticket_view_form"/>
<field name="arch" type="xml">
<!-- Add star rating display in the button box area -->
<xpath expr="//div[@name='button_box']" position="inside">
<button name="action_open_ratings" type="object" class="oe_stat_button" icon=""
invisible="not use_rating or rating_count == 0"
groups="helpdesk.group_use_rating">
<div class="o_field_widget o_stat_info">
<div class="o_rating_stars_display mb-1">
<field name="rating_stars_html" widget="html" nolabel="1"/>
</div>
<span class="o_stat_text">Customer Rating</span>
</div>
</button>
</xpath>
</field>
</record>
<!-- Extend Helpdesk Ticket Tree/List View with Star Rating -->
<record id="helpdesk_ticket_view_tree_stars" model="ir.ui.view">
<field name="name">helpdesk.ticket.tree.stars</field>
<field name="model">helpdesk.ticket</field>
<field name="inherit_id" ref="helpdesk.helpdesk_tickets_view_tree"/>
<field name="arch" type="xml">
<!-- Add star rating display in compact format -->
<xpath expr="//field[@name='priority']" position="after">
<field name="use_rating" column_invisible="1"/>
<field name="rating_count" column_invisible="1"/>
<field name="rating_stars_html" string="Rating" widget="html"
optional="show" readonly="1"
invisible="not use_rating or rating_count == 0"/>
</xpath>
</field>
</record>
<!-- Extend Helpdesk Ticket Kanban View to Show Star Rating -->
<record id="helpdesk_ticket_view_kanban_stars" model="ir.ui.view">
<field name="name">helpdesk.ticket.kanban.stars</field>
<field name="model">helpdesk.ticket</field>
<field name="inherit_id" ref="helpdesk.helpdesk_ticket_view_kanban"/>
<field name="arch" type="xml">
<!-- Replace the emoticon rating display with star rating -->
<xpath expr="//footer//b[@groups='helpdesk.group_use_rating']" position="replace">
<div t-if="record.use_rating.raw_value and record.rating_count.raw_value &gt; 0"
groups="helpdesk.group_use_rating"
class="ms-2 o_rating_stars_compact">
<field name="rating_stars_html" widget="html"/>
</div>
</xpath>
</field>
</record>
</odoo>