hr_homeworking_radio_image
The building, house and map-marker radios on Odoo's work location form are hr_homeworking_radio_image, a radio widget whose template only knows three hardcoded values, ignores its own inherited option, and disappears entirely in the Odoo 20 branch.
| Technical name | hr_homeworking_radio_image |
|---|---|
| Field types | selection |
| Views | list, form |
| Module | hr (template namespace hr_homeworking) |
| Used in core | 2 occurrences across 1 module: the work location list and form views in hr |
| Versions | Odoo 19.0, Odoo 18.0, Odoo 17.0 |
| No-code setup | No. Applied in XML; Studio does not list it |
| Alternatives | radio, selection_badge, boolean_radio, day_selection |
What the Location radio widget does
What this means for your team
Supported options in Odoo 19
| Option | Type | What it does |
|---|---|---|
horizontal | boolean | Inherited from radio through the descriptor spread, and inert: the replacement template hardcodes its own flex layout and never reads the orientation prop. Core's own views pass {'horizontal': true} to no effect.(since Odoo 17.0) |
Core passes a dead option. Both core usages write options="{'horizontal': true}", and the value goes precisely nowhere: the replacement template lays the radios out with its own flex classes and never reads the orientation prop. The layout would be identical without the option, a nice reminder that even core XML can carry no-ops.
Working examples
Hardcodes all the way down
Version compatibility
| Version | Status | Notes |
|---|---|---|
| Odoo 20.0 | In development | Not released. Deleted on the development branch; core switches to badges_selection with an icon mapping. |
| Odoo 19.0 | Verified | Verified against the shipped source; template and whitelist unchanged from 18. |
| Odoo 18.0 | Verified | Drops 17's preloadedData registration; otherwise identical. |
| Odoo 17.0 | Verified | Widget introduced with the homeworking feature set, plus a preload entry for m2o radios. |
| Odoo 16.0 | Not available | Widget does not exist; only hr_holidays had a radio_image variant of its own. |
Upgrade note. Views from 17 or 18 carry into 19 unchanged. For Odoo 20, plan a view review: the widget is gone on the development branch and the XML needs rewriting toward its replacement, see below.
What is changing in Odoo 20
Common problems and fixes
| Symptom | Cause and fix |
|---|---|
| A custom location type never appears as a radio | The template whitelists office, home and other; every other value is skipped during rendering. Use the plain radio or selection widget for custom vocabularies; the whitelist is not configurable. |
| horizontal option changes nothing | The replacement template ignores the inherited orientation prop and hardcodes its layout. Style via the class attribute on the field, as core does with d-flex flex-wrap. |
| No text labels next to the icons | The template renders icons only; labels are intentionally absent. By design; add a help tooltip on the field or use the standard radio widget where labels matter. |
| Cannot find the template in the hr_homeworking module | The template namespace says hr_homeworking but the file ships in the hr module. Look under addons/hr/static/src/components/radio_image_field/. |
| Missing widget warning after an Odoo 20 upgrade | The widget is deleted on the development branch with no alias. Rewrite the view to badges_selection with default_icon and icon_mapping options. |
Location radio widget vs the alternatives
| Widget | Best for | Key difference |
|---|---|---|
hr_homeworking_radio_image | The fixed office/home/other work location picker in HR views | Icon-only radios with a hardcoded three-value whitelist and no label rendering |
| radio | General selections as labeled radio buttons | Renders every selection value with its label, and horizontal actually works |
| selection_badge | Selection values as clickable badges | Text badges for any value set; on Odoo 20 its successor takes over this widget's job with icons |
| boolean_radio | Yes/no choices rendered as two radios in HR forms | Boolean-only sibling with view-template labels instead of icons |
| day_selection | Day-of-month picking in HR homeworking flows | Dropdown driven by a companion month field, not an icon radio row |
Frequently asked questions
What is the hr_homeworking_radio_image widget in Odoo?+
Why does my new location type not show in the picker?+
Does the horizontal option do anything on this widget?+
Where is the hr_homeworking_radio_image source code?+
What replaces hr_homeworking_radio_image in Odoo 20?+
Rolling out hybrid work in Odoo?
We set up Odoo HR for hybrid teams: work locations, homeworking schedules, presence indicators and the approval flows around them, plus clean migrations when Odoo swaps widgets under your customizations, on 16 through 19.
Set up hybrid work right