many2one_avatar_resource
This widget renders a link to a resource.resource with an avatar, distinguishing a person from a machine. It also reads an option Odoo never declares, and its click behavior changes depending on the view you put it in.
| Technical name | many2one_avatar_resource |
|---|---|
| Field types | many2one (resource.resource) |
| Views | form, list, kanban, card |
| Also registered as | kanban.many2one_avatar_resource in Odoo 19, renamed to card.many2one_avatar_resource in Odoo 20 |
| Module | resource_mail, installed with Planning, Field Service and similar apps |
| Used in core | 5 uses in Odoo 19 Community and Enterprise. |
| Versions | Odoo 19.0, Odoo 20.0 |
| No-code setup | No. There is no Studio entry for this widget. |
| Alternatives | many2one_avatar_employee, many2one_avatar_user, many2one_avatar, many2many_avatar_resource |
What the many2one_avatar_resource widget does
What this means for your team
Supported options in Odoo 19
| Option | Type | What it does |
|---|---|---|
no_open | boolean | <strong>Undocumented: not declared in supportedOptions.</strong> Controls whether the avatar and name open the resource record. Present, its value wins in every view. Absent, only a form view is clickable. Because the source tests for the key's presence rather than its truthiness, setting it to False is not the same as leaving it out.(default: absent, which means clickable in a form view only) |
The default is not a fixed value, it is a rule: clickable in a form view, not clickable in any other view. Setting no_open explicitly overrides that rule in both directions, so {'no_open': False} makes a list clickable and {'no_open': True} makes a form not.
Working examples
An undocumented option with a per-view default
Version compatibility
| Version | Status | Notes |
|---|---|---|
| Odoo 19.0 | Verified | Verified against the shipped 19.0 source. Registers a kanban. variant. |
| Odoo 20.0 | Partial / changed | kanban.many2one_avatar_resource renamed to card.many2one_avatar_resource. |
The registration variants changed in Odoo 20; the widget itself did not.
What is changing in Odoo 20
Common problems and fixes
| Symptom | Cause and fix |
|---|---|
| The resource is not clickable in a list or kanban view | Default behavior. Without no_open, only a form view is clickable. Add options="{'no_open': False}". |
| Setting no_open to False changed nothing on a form | A form is clickable by default, so False matches the existing behavior. Use True to disable opening on a form. |
| Every resource shows the same generic icon | resource_type is not resolving, so the widget cannot tell a person from a machine. Confirm the field points at resource.resource; the widget declares resource_type as a dependency and needs it to load. |
| A custom kanban.many2one_avatar_resource registration stopped working after upgrading to Odoo 20 | All kanban. prefixed field registrations were renamed to card. in Odoo 20. Rename your registration to card.many2one_avatar_resource. |
Many2one_avatar_resource widget vs the alternatives
| Widget | Best for | Key difference |
|---|---|---|
many2one_avatar_resource | A resource field that can hold a person or a machine | Renders the two differently, and hides an undocumented no_open option |
| many2one_avatar_employee | A field that always holds an employee | Employee-specific, with a hover card, and no machine rendering |
| many2one_avatar_user | A field holding a system user | Points at res.users rather than resource.resource |
| many2one_avatar | Any model with an image field | Generic, with no resource type awareness |
| many2many_avatar_resource | Several resources on one record | The x2many version of this widget |
Frequently asked questions
How do I make an Odoo resource avatar clickable in a list view?+
Does many2one_avatar_resource have options?+
How does the widget tell a person from a machine?+
What changes for this widget in Odoo 20?+
Planning boards people misread?
Scheduling humans and machines on one board only works when the board makes the difference obvious and clicking does what the user expects. We build planning and field service screens around how your dispatchers actually work.
Talk to an Odoo consultant