You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

29 lines
1.0 KiB

  1. # Copyright 2019 Artem Rafailov <https://it-projects.info/team/Ommo73/>
  2. # License LGPL-3.0 (https://www.gnu.org/licenses/lgpl.html).
  3. from odoo import models, api
  4. class MailMessage(models.Model):
  5. _inherit = 'mail.message'
  6. # взято с mail_base
  7. @api.multi
  8. def write(self, values):
  9. if values.get('needaction_partner_ids'):
  10. if not values.get('partner_ids'):
  11. values['partner_ids'] = []
  12. for triplet in values.get('needaction_partner_ids'):
  13. if triplet[0] == 6:
  14. for i in triplet[2]:
  15. values['partner_ids'].append((4, i, False))
  16. return super(MailMessage, self).write(values)
  17. @api.multi
  18. def message_format(self):
  19. messages_values = super(MailMessage, self).message_format()
  20. for i in messages_values:
  21. if i['channel_ids']:
  22. i['channel_names'] = self.env['mail.channel'].browse(i['channel_ids']).mapped(
  23. lambda r: [r.id, '#' + r.display_name])
  24. return messages_values