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.slide

Compute Method: _compute_slides_statistics

Inputs Method Outputs
  • id
keys = ['nbr_%s' % slide_category for slide_category in self.env['slide.slide']._fields['slide_category'].get_values(self.env)]
default_vals = dict((key, 0) for key in keys + ['total_slides'])
res = self.env['slide.slide']._read_group(
            [('is_published', '=', True), ('category_id', 'in', self.filtered('is_category').ids), ('is_category', '=', False)],
            ['category_id', 'slide_category'], ['__count'])
result = {category_id: dict(default_vals) for category_id in self.ids}
for category, slide_category, count in res:
            result[category.id][f'nbr_{slide_category}'] = count
            result[category.id]['total_slides'] += count
for record in self:
            record.update(result.get(record._origin.id, default_vals))

Back to entity