From 6ec80fe4599b06f9eff7d7e86fec96a951a6c222 Mon Sep 17 00:00:00 2001 From: Thibault Francois Date: Tue, 3 Aug 2021 14:06:21 +0000 Subject: [PATCH] [FIX] calendar: expected singleton error with _find_attendee Issue ----- Opening the calendar view may lead to an expected singleton error because _find_attendee my return a recordset with a len > 1 Solution -------- Return the first element of the filtered list to match the behavior described in the doc string closes odoo/odoo#75277 X-original-commit: b3a17e8c233f0b31c61609fefbc24241c3d12ae4 Signed-off-by: Yannick Tivisse (yti) Signed-off-by: Arnaud Joset --- addons/calendar/models/calendar_event.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/calendar/models/calendar_event.py b/addons/calendar/models/calendar_event.py index 7cb5fec63bd..4889da9547d 100644 --- a/addons/calendar/models/calendar_event.py +++ b/addons/calendar/models/calendar_event.py @@ -788,7 +788,7 @@ class Meeting(models.Model): my_attendee = self.attendee_ids.filtered(lambda att: att.partner_id == self.env.user.partner_id) if my_attendee: - return my_attendee + return my_attendee[:1] event_checked_attendees = self.env['calendar.contacts'].search([ ('user_id', '=', self.env.user.id), @@ -796,10 +796,10 @@ class Meeting(models.Model): ('partner_checked', '=', True) ]).mapped('partner_id') if self.partner_id in event_checked_attendees and self.partner_id in self.attendee_ids.partner_id: - return self.attendee_ids.filtered(lambda attendee: attendee.partner_id == self.partner_id) + return self.attendee_ids.filtered(lambda attendee: attendee.partner_id == self.partner_id)[:1] attendee = self.attendee_ids.filtered(lambda att: att.partner_id in event_checked_attendees and att.state != "needsAction") - return attendee + return attendee[:1] def _get_start_date(self): """Return the event starting date in the event's timezone.