|
|
data = {
(partner.id, member_status): channel_ids
for partner, member_status, channel_ids in self.env['slide.channel.partner'].sudo()._read_group(
domain=[('partner_id', 'in', self.ids), ('member_status', '!=', 'invited')],
groupby=['partner_id', 'member_status'],
aggregates=['channel_id:array_agg']
)
}
for partner in self:
slide_channel_ids = data.get((partner.id, 'joined'), []) + data.get((partner.id, 'ongoing'), []) + data.get((partner.id, 'completed'), [])
partner.slide_channel_ids = slide_channel_ids
partner.slide_channel_completed_ids = self.env['slide.channel'].browse(data.get((partner.id, 'completed'), []))
partner.slide_channel_count = len(slide_channel_ids)
|
|