summaryrefslogtreecommitdiff
path: root/addons
diff options
context:
space:
mode:
authorThibault Delavallée <tde@odoo.com>2019-08-30 13:56:53 +0000
committerThibault Delavallée <tde@odoo.com>2019-08-30 15:06:00 +0000
commit10804f1e4b6a72946e2b8ca7b3b8e300acc8b04b (patch)
tree9a0ddb4f7e15f0828899392ab004e064e4a14de3 /addons
parent3c9529901858a9ad153666f657b9b9c9eb12b372 (diff)
[FIX] (website_)rating: synchronize rating feedback with message body
Purpose is to set review message on both message and rating so that reviews are correctly displayed in eLearning backend as well as correctly displayed in chatter frontend. Task ID 2058595 PR #36281
Diffstat (limited to 'addons')
-rw-r--r--addons/rating/models/mail_thread.py2
-rw-r--r--addons/rating/models/rating.py1
-rw-r--r--addons/website_rating/controllers/portal_chatter.py8
3 files changed, 9 insertions, 2 deletions
diff --git a/addons/rating/models/mail_thread.py b/addons/rating/models/mail_thread.py
index b0c229181df..3d89a33a6cf 100644
--- a/addons/rating/models/mail_thread.py
+++ b/addons/rating/models/mail_thread.py
@@ -10,11 +10,13 @@ class MailThread(models.AbstractModel):
@api.returns('mail.message', lambda value: value.id)
def message_post(self, **kwargs):
rating_value = kwargs.pop('rating_value', False)
+ rating_feedback = kwargs.pop('rating_feedback', False)
message = super(MailThread, self).message_post(**kwargs)
if rating_value:
ir_model = self.env['ir.model'].sudo().search([('model', '=', self._name)])
self.env['rating.rating'].create({
'rating': float(rating_value) if rating_value is not None else False,
+ 'feedback': rating_feedback,
'res_model_id': ir_model.id,
'res_id': self.id,
'message_id': message.id,
diff --git a/addons/rating/models/rating.py b/addons/rating/models/rating.py
index 1742ef776a4..04f8c474e14 100644
--- a/addons/rating/models/rating.py
+++ b/addons/rating/models/rating.py
@@ -13,7 +13,6 @@ RATING_LIMIT_MIN = 1
class Rating(models.Model):
-
_name = "rating.rating"
_description = "Rating"
_order = 'write_date desc'
diff --git a/addons/website_rating/controllers/portal_chatter.py b/addons/website_rating/controllers/portal_chatter.py
index c252d2f73e7..f2b2b5a3033 100644
--- a/addons/website_rating/controllers/portal_chatter.py
+++ b/addons/website_rating/controllers/portal_chatter.py
@@ -11,10 +11,16 @@ class PortalChatter(PortalChatter):
def _portal_post_filter_params(self):
fields = super(PortalChatter, self)._portal_post_filter_params()
- fields.append('rating_value')
+ fields += ['rating_value', 'rating_feedback']
return fields
@http.route()
+ def portal_chatter_post(self, res_model, res_id, message, redirect=None, attachment_ids='', attachment_tokens='', **kwargs):
+ if kwargs.get('rating_value'):
+ kwargs['rating_feedback'] = kwargs.pop('rating_feedback', message)
+ return super(PortalChatter, self).portal_chatter_post(res_model, res_id, message, redirect=redirect, attachment_ids=attachment_ids, attachment_tokens=attachment_tokens, **kwargs)
+
+ @http.route()
def portal_chatter_init(self, res_model, res_id, domain=False, limit=False, **kwargs):
result = super(PortalChatter, self).portal_chatter_init(res_model, res_id, domain=domain, limit=limit, **kwargs)
# get the rating statistics about the record