diff --git a/addons/mail/models/mail_channel.py b/addons/mail/models/mail_channel.py index 1bab01aca8e..22c1d692b97 100644 --- a/addons/mail/models/mail_channel.py +++ b/addons/mail/models/mail_channel.py @@ -61,10 +61,6 @@ class Channel(models.Model): MAX_BOUNCE_LIMIT = 10 - def _get_default_image(self): - image_path = modules.get_module_resource('mail', 'static/src/img', 'groupdefault.png') - return base64.b64encode(open(image_path, 'rb').read()) - @api.model def default_get(self, fields): res = super(Channel, self).default_get(fields) @@ -72,6 +68,13 @@ class Channel(models.Model): res['alias_contact'] = 'everyone' if res.get('public', 'private') == 'public' else 'followers' return res + def _default_channel_last_seen_partner_ids(self): + return [(0, 0, {"partner_id": self.env.user.partner_id.id})] + + def _get_default_image(self): + image_path = modules.get_module_resource('mail', 'static/src/img', 'groupdefault.png') + return base64.b64encode(open(image_path, 'rb').read()) + name = fields.Char('Name', required=True, translate=True) active = fields.Boolean(default=True, help="Set active to false to hide the channel without removing it.") channel_type = fields.Selection([ @@ -84,7 +87,7 @@ class Channel(models.Model): email_send = fields.Boolean('Send messages by email', default=False) # multi users channel # depends=['...'] is for `test_mail/tests/common.py`, class Moderation, `setUpClass` - channel_last_seen_partner_ids = fields.One2many('mail.channel.partner', 'channel_id', string='Last Seen', depends=['channel_partner_ids']) + channel_last_seen_partner_ids = fields.One2many('mail.channel.partner', 'channel_id', string='Last Seen', depends=['channel_partner_ids'], default=_default_channel_last_seen_partner_ids) channel_partner_ids = fields.Many2many('res.partner', 'mail_channel_partner', 'channel_id', 'partner_id', string='Listeners', depends=['channel_last_seen_partner_ids']) channel_message_ids = fields.Many2many('mail.message', 'mail_message_mail_channel_rel') is_member = fields.Boolean('Is a member', compute='_compute_is_member')