|
|
if self.env.user._is_public():
self.is_member = False
self.is_member_invited = False
return
data = {
member_status: channel_ids
for member_status, channel_ids in self.env['slide.channel.partner'].sudo()._read_group(
[('partner_id', '=', self.env.user.partner_id.id), ('channel_id', 'in', self.ids), ('active', '=', True)],
['member_status'], ['channel_id:array_agg']
)
}
active_channels_ids = data.get('joined', []) + data.get('ongoing', []) + data.get('completed', [])
invitation_pending_channels_ids = data.get('invited', [])
for channel in self:
channel.is_member = channel.id in active_channels_ids
channel.is_member_invited = channel.id in invitation_pending_channels_ids
|
|