Several addons inherit from message_post method. Instead of redefining the long list of parameters let us just use kwargs and propagate them to the super call. Only really used parameters are set as explicit. Purpose is to lessen issues when changing some parameters default value or when having some API change.
26 lines
917 B
Python
26 lines
917 B
Python
# -*- coding: utf-8 -*-
|
|
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
|
|
|
from odoo import api, models
|
|
|
|
|
|
class MailThread(models.AbstractModel):
|
|
_inherit = 'mail.thread'
|
|
|
|
@api.multi
|
|
@api.returns('self', lambda value: value.id)
|
|
def message_post(self, **kwargs):
|
|
rating_value = kwargs.get('rating_value')
|
|
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,
|
|
'res_model_id': ir_model.id,
|
|
'res_id': self.id,
|
|
'message_id': message.id,
|
|
'consumed': True,
|
|
'partner_id': self.env.user.partner_id.id,
|
|
})
|
|
return message
|