mirror of https://github.com/OCA/social.git
44 lines
1.5 KiB
Python
44 lines
1.5 KiB
Python
# Copyright 2020 Creu Blanca
|
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
|
|
|
from odoo import api, models
|
|
|
|
|
|
class ResPartner(models.Model):
|
|
|
|
_inherit = 'res.partner'
|
|
|
|
@api.multi
|
|
def _notify(self, message, force_send=False, send_after_commit=True,
|
|
user_signature=True):
|
|
if not message.mail_group_id:
|
|
return super(ResPartner, self)._notify(
|
|
message, force_send=force_send,
|
|
send_after_commit=send_after_commit,
|
|
user_signature=user_signature
|
|
)
|
|
accepted_users = message.mail_group_id.mapped(
|
|
'group_ids.users')
|
|
partners = self.browse()
|
|
for partner in self:
|
|
if partner.user_ids in accepted_users:
|
|
partners |= partner
|
|
return super(ResPartner, partners)._notify(
|
|
message, force_send=force_send,
|
|
send_after_commit=send_after_commit, user_signature=user_signature
|
|
)
|
|
|
|
@api.multi
|
|
def _notify_by_chat(self, message):
|
|
if not message.mail_group_id:
|
|
return super()._notify_by_chat(message)
|
|
accepted_users = message.mail_group_id.mapped(
|
|
'group_ids.users')
|
|
partners = self.browse()
|
|
for partner in self:
|
|
if partner.user_ids in accepted_users:
|
|
partners |= partner
|
|
elif partner.user_ids:
|
|
message.sudo(partner.user_ids[0]).set_message_done()
|
|
return super(ResPartner, partners)._notify_by_chat(message)
|