many2many_avatar_employee_class
Employee avatars with some of them flagged. It exists for one wizard, it takes its list of problem employees from a field you name, and on the development branch both the wizard and the widget are gone.
| Technical name | many2many_avatar_employee_class |
|---|---|
| Field types | many2many |
| Views | form |
| Module | hr_work_entry, work entries for payroll |
| Used in core | 1 occurrence, the work entry regeneration wizard in hr_work_entry |
| Versions | Odoo 19.0 |
| No-code setup | No. It needs a companion field naming the employees in error |
| Alternatives | many2many_avatar_employee, many2many_avatar_user, many2many_tags_avatar, many2many_tags |
What the employee avatars with errors does
What this means for your team
Supported options in Odoo 19
| Option | Type | What it does |
|---|---|---|
in_error | string (attribute, undeclared) | Written on the field element rather than in options. Names the field holding the subset of employees to mark. Read in the extractor without being declared, so no tooling suggests it.(since Odoo 19.0) |
no_create | boolean | Inherited from the tags widget. Removes creation from the employee input.(default: false) |
no_quick_create | boolean | Inherited. Removes creation from the typed text while keeping the popup form path.(default: false) |
The flag field is an attribute, and undeclared. It is written on the field element rather than inside the options dictionary, and the extractor reads it without the descriptor declaring it, so no tooling will suggest it. If it is missing, the per-tag lookup has no field to read and the widget fails rather than rendering unflagged avatars.
Working examples
A flag computed per avatar from another field
Version compatibility
| Version | Status | Notes |
|---|---|---|
| Odoo 20.0 | In development | Not released. Neither the widget nor its wizard exists on the development branch. |
| Odoo 19.0 | Verified | First version. Verified against the shipped source. |
| Odoo 18.0 | Not available | Widget does not exist. |
| Odoo 17.0 | Not available | Widget does not exist. |
| Odoo 16.0 | Not available | Widget does not exist. |
Upgrade note. The widget is new in Odoo 19. Coming from Odoo 18 there is nothing to migrate. Going to Odoo 20 there is a real question: the widget and the wizard it belongs to are both absent from the development branch, so a payroll process built around regenerating work entries needs reviewing before that upgrade.
What is changing in Odoo 20
Common problems and fixes
| Symptom | Cause and fix |
|---|---|
| An error when the field renders | The flag attribute is missing or misspelled, so the per-tag lookup has no field to read. Add in_error="your_field" on the field element, spelled exactly. |
| No employees are marked | The named field is empty or not loaded on the record. Check that the wizard computes and loads that field. |
| The marking does not update | The named field did not change; the widget reads its current ids on every tag build. Check the server-side computation of the error set. |
| Developer tooling does not offer the attribute | It is read in the extractor but never declared. Consult this page or the source. |
| The avatars render but the wizard is missing | The database is on a version where the regeneration wizard no longer exists. Review your payroll process; this is a feature removal rather than a rename. |
| Missing widget error | The work entry module is not installed in that database. Install it, or use the plain employee avatar widget. |
Employee avatars with errors vs the alternatives
| Widget | Best for | Key difference |
|---|---|---|
many2many_avatar_employee_class | Employee avatar lists where some entries need flagging from another field | Marks each avatar by testing membership in a companion field named through an attribute |
| many2many_avatar_employee | Employee lists with no marking | The widget this one extends, without the error flag |
| many2many_avatar_user | Lists of internal users | Users rather than employees, and no flag |
| many2many_tags_avatar | Any relation shown as avatars | Generic, with no HR-specific behavior |
| many2many_tags | Plain tags | No pictures and no per-tag state |
Frequently asked questions
How does it know which employees to mark?+
Why is the setting an attribute rather than an option?+
Does the marking update as the record changes?+
Can I use it on a non-employee relation?+
What happens in Odoo 20?+
Payroll runs that flag problems before they cost you
Work entries, contract changes and the regeneration behind them are where payroll quietly diverges from reality. We implement and verify Odoo payroll data flows on versions 16 through 19.
Book a free consultation