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

Module: Calendar

Entity: res.partner

Compute Method: _compute_meeting_display

Inputs Method Outputs
upcoming_meeting_per_partner = dict(self.env['calendar.event']._read_group(
            domain=Domain.AND([
                self.env['calendar.event']._get_valid_event_domain(),
                Domain('start', '>=', fields.Datetime.now()),
            ]),
            groupby=['partner_ids'],
            aggregates=['start:min'],
        ))
for partner in self:
            if next_meeting_start := upcoming_meeting_per_partner.get(partner):
                partner.meeting_display_label = _('Next Meeting')
                partner.meeting_next_date = fields.Datetime.context_timestamp(partner, next_meeting_start).date()
            elif partner.meeting_count:
                partner.meeting_display_label = _('Meetings')
                partner.meeting_next_date = False
            else:
                partner.meeting_display_label = _('No Meetings')
                partner.meeting_next_date = False

Back to entity