|
|
read_group_res = self.env['slide.channel.partner'].sudo()._read_group(
domain=[('channel_id', 'in', self.ids)],
groupby=['channel_id', 'member_status'],
aggregates=['__count']
)
data = {(channel.id, member_status): count for channel, member_status, count in read_group_res}
for channel in self:
channel.members_invited_count = data.get((channel.id, 'invited'), 0)
channel.members_engaged_count = data.get((channel.id, 'joined'), 0) + data.get((channel.id, 'ongoing'), 0)
channel.members_completed_count = data.get((channel.id, 'completed'), 0)
channel.members_all_count = channel.members_invited_count + channel.members_engaged_count + channel.members_completed_count
channel.members_count = channel.members_engaged_count + channel.members_completed_count
|
|