many2manyattendeeexpandable
The attendee widget again, with a collapse. In a calendar popover there is no room for thirty avatars, so it shows the counts and lets you open the list when you want it.
| Technical name | many2manyattendeeexpandable |
|---|---|
| Field types | many2many |
| Views | calendar side panel, form |
| Module | calendar, the Meetings app |
| Used in core | 1 occurrence, the attendee summary in the calendar side panel in calendar |
| Versions | Odoo 20.0, Odoo 19.0, Odoo 18.0, Odoo 17.0 |
| No-code setup | No. It depends on calendar-specific count fields and server methods |
| Alternatives | many2manyattendee, many2many_tags_avatar, many2many_avatar_user, statinfo |
What the expandable attendee list does
What this means for your team
Supported options in Odoo 19
| Option | Type | What it does |
|---|---|---|
attendees_count | companion field | Read by literal name in setup. The total number of invitees shown in the collapsed summary. |
accepted_count | companion field | Read by literal name in setup. Feeds both the accepted figure and the derived undecided figure. |
declined_count | companion field | Read by literal name in setup. Feeds both the declined figure and the derived undecided figure. |
no_quick_create | boolean | Inherited through the attendee widget from the tags widget. Removes creation from the typed text.(default: false) |
The counts are captured once. All three are read in the component's setup and stored, rather than being read on each render, so they are a snapshot from when the popover opened. The undecided count is derived by subtracting accepted and declined from the total, so a stale total makes all four numbers stale together.
Working examples
A snapshot, and the repositioning that used to be here
Version compatibility
| Version | Status | Notes |
|---|---|---|
| Odoo 20.0 | Partial / changed | Not released. Same behavior; the toggle moves to the template and the base widget changes underneath it. |
| Odoo 19.0 | Verified | Verified against the shipped source. The Odoo 18 popover repositioning is removed. |
| Odoo 18.0 | Verified | Same summary, plus an effect that repositioned the calendar popover when expanded. |
| Odoo 17.0 | Verified | First version. |
| Odoo 16.0 | Not available | Widget does not exist. |
Upgrade note. No view change is needed between Odoo 17 and Odoo 19. The behavioral difference is that Odoo 18 repositioned the calendar popover when the list expanded and Odoo 19 does not; if a customization relied on that, it has to be reimplemented against the current popover handling. The widget does not exist in Odoo 16.
What is changing in Odoo 20
Common problems and fixes
| Symptom | Cause and fix |
|---|---|
| The counts do not update as people reply | All three are read once when the component starts. Close and reopen the popover, which recreates the component. |
| The undecided figure is wrong | It is derived by subtracting accepted and declined from the total, so a missing or stale count skews it. Make sure all three count fields are present and computed on the meeting. |
| The list will not expand | The expanded state is local to the component and the toggle is on the expander element. Check for a custom template that dropped the expander. |
| The popover is cut off when expanded | Odoo 19 removed the repositioning that Odoo 18 did here. Scroll the popover, or use the full attendee widget on a form where space allows. |
| No status icons inside the expanded list | That comes from the parent widget's server call, which is separate from the counts. See the attendee widget's own troubleshooting; the counts and the icons have different sources. |
| Missing widget error | The calendar module is not installed in that database. Install Calendar. |
Expandable attendee list vs the alternatives
| Widget | Best for | Key difference |
|---|---|---|
many2manyattendeeexpandable | Attendee lists in a popover or anywhere space is tight | Starts collapsed with accepted, declined and undecided counts, expanding to the full attendee list |
| many2manyattendee | Attendee lists on a form | Always expanded, with no counts |
| many2many_tags_avatar | Any list of people as avatars | No attendee status, no counts and no calendar dependency |
| many2many_avatar_user | Internal users | User-aware avatars, again with no attendee status |
| statinfo | Just a headcount | One number with a label, no list behind it |
Frequently asked questions
What does the collapsed summary show?+
Why do the numbers not change while I watch?+
Does it show the same status icons as the full widget?+
Why does the popover no longer reposition when I expand?+
Which versions have it?+
A calendar your team trusts enough to check
Shared calendars only work when availability, invitations and external sync are all correct, and the failures are quiet. We implement Odoo Calendar and its Google and Outlook integrations on versions 16 through 19.
Book a free consultation