Odoo Mindscape. Understand Odoo faster. Explore modules, fields, dependencies and version differences in one place instead of digging through the source code.

Module: eLearning

Entity: slide.channel

Compute Method: _compute_membership_values

Inputs Method Outputs
  • id
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

Back to entity