Skip to content
Snippets Groups Projects
Commit 2af9570c authored by Jérémy Hennecart's avatar Jérémy Hennecart Committed by Thibault Delavallée
Browse files

[IMP] website_slides: remove archived slides from completion / statistics

Task 2007294
parent 5233c909
No related branches found
No related tags found
No related merge requests found
......@@ -22,13 +22,16 @@ class ChannelUsersRelation(models.Model):
partner_id = fields.Many2one('res.partner', index=True, required=True, ondelete='cascade')
partner_email = fields.Char(related='partner_id.email', readonly=True)
@api.depends('channel_id.slide_partner_ids.partner_id', 'channel_id.slide_partner_ids.completed', 'partner_id', 'channel_id.slide_partner_ids.slide_id.is_published')
@api.depends('channel_id.slide_partner_ids.partner_id', 'channel_id.slide_partner_ids.completed',
'partner_id', 'channel_id.slide_partner_ids.slide_id.is_published',
'channel_id.slide_partner_ids.slide_id.active')
def _compute_completion(self):
read_group_res = self.env['slide.slide.partner'].sudo().read_group(
['&', '&', ('channel_id', 'in', self.mapped('channel_id').ids),
('partner_id', 'in', self.mapped('partner_id').ids),
('completed', '=', True),
('slide_id.is_published', '=', True)],
('slide_id.is_published', '=', True),
('slide_id.active', '=', True)],
['channel_id', 'partner_id'],
groupby=['channel_id', 'partner_id'], lazy=False)
mapped_data = dict()
......@@ -231,11 +234,11 @@ class Channel(models.Model):
channel.slide_content_ids = channel.slide_ids - channel.slide_category_ids
@api.depends('slide_ids.slide_type', 'slide_ids.is_published', 'slide_ids.completion_time',
'slide_ids.likes', 'slide_ids.dislikes', 'slide_ids.total_views', 'slide_ids.is_category')
'slide_ids.likes', 'slide_ids.dislikes', 'slide_ids.total_views', 'slide_ids.is_category', 'slide_ids.active')
def _compute_slides_statistics(self):
result = dict((cid, dict(total_views=0, total_votes=0, total_time=0)) for cid in self.ids)
read_group_res = self.env['slide.slide'].read_group(
[('is_published', '=', True), ('channel_id', 'in', self.ids), ('is_category', '=', False)],
[('active', '=', True), ('is_published', '=', True), ('channel_id', 'in', self.ids), ('is_category', '=', False)],
['channel_id', 'slide_type', 'likes', 'dislikes', 'total_views', 'completion_time'],
groupby=['channel_id', 'slide_type'],
lazy=False)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment