[IMP] rating: improvement for the ratings view

The purpose of this commit is to make improvements in ratings
views.

so in this commit did the following changes:
Graph View
  - rename 'Rating Value' to 'Rating Value (/5) in measures
  - remove 'document' and 'parent document' measures
Kanban view
  - only display the name of the rated operator, not his company
list view:
  - resequence the fields and change attrs
search view:
  - added various filter

Related Enterprise PR: https://github.com/odoo/enterprise/pull/19415

closes odoo/odoo#72965

Taskid: 2531491
Related: odoo/enterprise#19415
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
This commit is contained in:
Krina Oza
2021-08-19 04:32:46 +00:00
committed by Barad Mahendra
parent 716d616a3a
commit cfd5837a24
2 changed files with 25 additions and 16 deletions
+1
View File
@@ -51,6 +51,7 @@ class Rating(models.Model):
string='Parent Ref', selection='_selection_target_model',
compute='_compute_parent_ref', readonly=True)
rated_partner_id = fields.Many2one('res.partner', string="Rated Operator", help="Owner of the rated resource")
rated_partner_name = fields.Char(related="rated_partner_id.name")
partner_id = fields.Many2one('res.partner', string='Customer', help="Author of the rating")
rating = fields.Float(string="Rating Value", group_operator="avg", default=0, help="Rating value: 0=Unhappy, 5=Happy")
rating_image = fields.Binary('Image', compute='_compute_rating_image')
+24 -16
View File
@@ -5,14 +5,14 @@
<field name="name">rating.rating.tree</field>
<field name="model">rating.rating</field>
<field name="arch" type="xml">
<tree string="Rating" create="false" edit="false" sample="1">
<field name="rating_text" decoration-danger="rating_text == 'ko'" decoration-warning="rating_text == 'ok'" decoration-success="rating_text == 'top'" class="font-weight-bold"/>
<field name="feedback"/>
<field name="rated_partner_id"/>
<field name="partner_id"/>
<field name="res_name"/>
<field name="parent_res_name"/>
<tree string="Ratings" create="false" edit="false" sample="1">
<field name="create_date"/>
<field name="rated_partner_id" optional="show"/>
<field name="partner_id" optional="show"/>
<field name="parent_res_name" optional="show"/>
<field name="res_name" optional="show"/>
<field name="feedback" optional="hide"/>
<field name="rating_text" decoration-danger="rating_text == 'ko'" decoration-warning="rating_text == 'ok'" decoration-success="rating_text == 'top'" class="font-weight-bold" widget="badge"/>
</tree>
</field>
</record>
@@ -21,7 +21,7 @@
<field name="name">rating.rating.form</field>
<field name="model">rating.rating</field>
<field name="arch" type="xml">
<form string="Rating" create="false">
<form string="Ratings" create="false">
<sheet>
<group>
<group>
@@ -29,7 +29,7 @@
<field name="res_name" string="Document" invisible="1"/>
<field name="parent_ref" string="Parent Holder"/>
<field name="parent_res_name" string="Parent Holder" invisible="1"/>
<field name="rated_partner_id"/>
<field name="rated_partner_id" widget="many2one_avatar"/>
<field name="rating" invisible="1"/>
<field name="is_internal"/>
</group>
@@ -61,14 +61,14 @@
<field name="partner_id"/>
<templates>
<t t-name="kanban-box">
<div class="oe_kanban_global_click">
<div class="oe_kanban_global_click d-flex align-items-center justify-content-center">
<div class="row oe_kanban_details">
<div class="col-4 o_kanban_image my-auto">
<field name="rating_image" widget="image"/>
</div>
<div class="col-8 pl-1">
<strong>
<field name="rated_partner_id" />
<field name="rated_partner_name"/>
</strong>
<ul>
<li t-if="record.partner_id.value">
@@ -107,10 +107,12 @@
<field name="name">rating.rating.pivot</field>
<field name="model">rating.rating</field>
<field name="arch" type="xml">
<pivot string="Rating Average" display_quantity="true" sample="1">
<pivot string="Ratings" display_quantity="true" sample="1">
<field name="rated_partner_id" type="row"/>
<field name="create_date" type="col"/>
<field name="rating" type="measure"/>
<field name="rating" type="measure" string="Rating Value (/5)"/>
<field name="parent_res_id" invisible="1"/>
<field name="res_id" invisible="1"/>
</pivot>
</field>
</record>
@@ -119,9 +121,11 @@
<field name="name">rating.rating.graph</field>
<field name="model">rating.rating</field>
<field name="arch" type="xml">
<graph string="Rating Average" type="bar" sample="1">
<graph string="Ratings" type="bar" sample="1">
<field name="create_date" type="row"/>
<field name="rating" type="measure"/>
<field name="rating" type="measure" string="Rating Value (/5)"/>
<field name="parent_res_id" invisible="1"/>
<field name="res_id" invisible="1"/>
</graph>
</field>
</record>
@@ -137,11 +141,15 @@
<field name="res_name" filter_domain="[('res_name','ilike',self)]"/>
<field name="res_id"/>
<field name="parent_res_name" filter_domain="[('parent_res_name','ilike',self)]"/>
<filter string="My Ratings" name="my_ratings" domain="[('rated_partner_id.user_ids', 'in', [uid])]"/>
<separator/>
<filter string="Satisfied" name="rating_happy" domain="[('rating_text', '=', 'top')]"/>
<filter string="Okay" name="rating_okay" domain="[('rating_text', '=', 'ok')]"/>
<filter string="Dissatisfied" name="rating_unhappy" domain="[('rating_text', '=', 'ko')]"/>
<separator/>
<filter string="My Ratings" name="my_ratings" domain="[('rated_partner_id.user_ids', 'in', [uid])]"/>
<filter string="Today" name="today" domain="[('create_date', '&gt;', (context_today() - datetime.timedelta(days=1)).strftime('%%Y-%%m-%%d'))]"/>
<filter string="Last 7 days" name="last_7days" domain="[('create_date','&gt;', (context_today() - datetime.timedelta(days=7)).strftime('%%Y-%%m-%%d'))]"/>
<filter string="Last 30 days" name="last_month" domain="[('create_date','&gt;', (context_today() - datetime.timedelta(days=30)).strftime('%%Y-%%m-%%d'))]"/>
<separator/>
<filter name="filter_create_date" date="create_date"/>
<group expand="0" string="Group By">