refactor: Update XPath selector in rating kanban view for improved class matching. Update to Odoo 19

This commit is contained in:
Suherdy Yacob 2026-01-20 16:00:13 +07:00
parent f7e89a5e0e
commit d412e3401a
77 changed files with 17 additions and 5 deletions

15
.gitignore vendored Normal file
View File

@ -0,0 +1,15 @@
# Python
__pycache__/
*.py[cod]
*$py.class
# OS
.DS_Store
Thumbs.db
# Editor
.vscode/
.idea/
# Odoo
*.pot

0
CHANGELOG.md Normal file → Executable file
View File

0
DOCUMENTATION.md Normal file → Executable file
View File

0
INSTALL.md Normal file → Executable file
View File

0
README.md Normal file → Executable file
View File

0
USER_GUIDE.md Normal file → Executable file
View File

0
__init__.py Normal file → Executable file
View File

2
__manifest__.py Normal file → Executable file
View File

@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
{
'name': 'Helpdesk Rating Five Stars',
'version': '18.0.1.0.0',
'version': '19.0.1.0.0',
'category': 'Services/Helpdesk',
'summary': 'Replace 3-emoticon rating system with 5-star rating system for Helpdesk',
'description': """

Binary file not shown.

0
__pycache__/__manifest__.cpython-312.pyc Normal file → Executable file
View File

Binary file not shown.

0
controllers/__init__.py Normal file → Executable file
View File

0
controllers/rating.py Normal file → Executable file
View File

0
data/mail_templates.xml Normal file → Executable file
View File

0
hooks.py Normal file → Executable file
View File

0
models/__init__.py Normal file → Executable file
View File

0
models/helpdesk_ticket.py Normal file → Executable file
View File

0
models/helpdesk_ticket_report.py Normal file → Executable file
View File

3
models/rating_rating.py Normal file → Executable file
View File

@ -20,7 +20,6 @@ class Rating(models.Model):
required=True,
help='Rating value: 0 (no rating), 1-5 (stars)',
aggregator="avg",
tracking=True # Track changes to rating value
)
# Computed fields for star display
@ -39,12 +38,10 @@ class Rating(models.Model):
# Audit fields - track who submitted/modified the rating
feedback = fields.Text(
string='Feedback',
tracking=True # Track changes to feedback
)
consumed = fields.Boolean(
string='Rating Submitted',
tracking=True # Track when rating is consumed
)
@api.constrains('rating')

0
security/helpdesk_rating_security.xml Normal file → Executable file
View File

0
security/ir.model.access.csv Normal file → Executable file
View File

0
static/description/ICON_README.md Normal file → Executable file
View File

0
static/description/icon.svg Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

0
static/description/index.html Normal file → Executable file
View File

0
static/description/widget_demo.html Normal file → Executable file
View File

0
static/src/README.md Normal file → Executable file
View File

0
static/src/js/rating_stars.js Normal file → Executable file
View File

0
static/src/scss/rating_stars.scss Normal file → Executable file
View File

0
static/src/xml/rating_stars.xml Normal file → Executable file
View File

0
tests/__init__.py Normal file → Executable file
View File

0
tests/__pycache__/__init__.cpython-312.pyc Normal file → Executable file
View File

View File

0
tests/__pycache__/test_aria_labels.cpython-312.pyc Normal file → Executable file
View File

View File

View File

0
tests/__pycache__/test_helpdesk_ticket.cpython-312.pyc Normal file → Executable file
View File

0
tests/__pycache__/test_hover_feedback.cpython-312.pyc Normal file → Executable file
View File

0
tests/__pycache__/test_integration.cpython-312.pyc Normal file → Executable file
View File

View File

0
tests/__pycache__/test_no_regression.cpython-312.pyc Normal file → Executable file
View File

View File

0
tests/__pycache__/test_rating_export.cpython-312.pyc Normal file → Executable file
View File

View File

View File

0
tests/__pycache__/test_rating_model.cpython-312.pyc Normal file → Executable file
View File

0
tests/__pycache__/test_rating_reports.cpython-312.pyc Normal file → Executable file
View File

0
tests/__pycache__/test_rating_security.cpython-312.pyc Normal file → Executable file
View File

0
tests/__pycache__/test_rating_views.cpython-312.pyc Normal file → Executable file
View File

View File

0
tests/test_api_compatibility.py Normal file → Executable file
View File

0
tests/test_aria_labels.py Normal file → Executable file
View File

0
tests/test_average_calculation.py Normal file → Executable file
View File

0
tests/test_duplicate_rating.py Normal file → Executable file
View File

0
tests/test_helpdesk_ticket.py Normal file → Executable file
View File

0
tests/test_hover_feedback.py Normal file → Executable file
View File

0
tests/test_integration.py Normal file → Executable file
View File

0
tests/test_keyboard_navigation.py Normal file → Executable file
View File

0
tests/test_no_regression.py Normal file → Executable file
View File

0
tests/test_rating_controller.py Normal file → Executable file
View File

0
tests/test_rating_export.py Normal file → Executable file
View File

0
tests/test_rating_filtering.py Normal file → Executable file
View File

0
tests/test_rating_migration.py Normal file → Executable file
View File

0
tests/test_rating_model.py Normal file → Executable file
View File

0
tests/test_rating_reports.py Normal file → Executable file
View File

0
tests/test_rating_security.py Normal file → Executable file
View File

0
tests/test_rating_views.py Normal file → Executable file
View File

0
tests/test_star_highlighting.py Normal file → Executable file
View File

0
views/helpdesk_ticket_report_views.xml Normal file → Executable file
View File

0
views/helpdesk_ticket_views.xml Normal file → Executable file
View File

2
views/rating_rating_views.xml Normal file → Executable file
View File

@ -53,7 +53,7 @@
<field name="inherit_id" ref="rating.rating_rating_view_kanban_stars"/>
<field name="arch" type="xml">
<!-- Update the star calculation to use 5-star scale -->
<xpath expr="//aside[@class='col-3 me-2']" position="replace">
<xpath expr="//aside[hasclass('col-3', 'me-2')]" position="replace">
<aside class="col-3 me-2">
<field name="rating_stars_filled" invisible="1"/>
<field name="rating_stars_empty" invisible="1"/>

0
views/rating_templates.xml Normal file → Executable file
View File