diff options
| author | Thibault Delavallée <tde@odoo.com> | 2019-08-30 13:56:53 +0000 |
|---|---|---|
| committer | Thibault Delavallée <tde@odoo.com> | 2019-08-30 15:06:00 +0000 |
| commit | 10804f1e4b6a72946e2b8ca7b3b8e300acc8b04b (patch) | |
| tree | 9a0ddb4f7e15f0828899392ab004e064e4a14de3 /addons | |
| parent | 3c9529901858a9ad153666f657b9b9c9eb12b372 (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.py | 2 | ||||
| -rw-r--r-- | addons/rating/models/rating.py | 1 | ||||
| -rw-r--r-- | addons/website_rating/controllers/portal_chatter.py | 8 |
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 |
