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