mo_view_list_dropdown
A per-row dropdown that acts on the whole selection when there is one, and quietly skips work orders it should not move.
August 27, 2026Updated August 29, 20264 min read
| Technical name | mo_view_list_dropdown |
|---|---|
| Views | list (view widget, <widget> element) |
| Module | mrp, the Manufacturing app |
| Used in core | Work order lists in mrp |
| Versions | Odoo 20.0, Odoo 19.0, Odoo 18.0, Odoo 17.0 |
| No-code setup | No. It is set in view XML and depends on module-specific data |
| Alternatives | mrp_should_consume, mrp_timer, mrp_workorder_popover, workcenter_dashboard_graph |
What the work order dropdown does
What this means for your team
Supported options in Odoo 19
| Option | Type | What it does |
|---|---|---|
the skip filter | built into the state setter | Drops work orders already in the target state, already done, or whose manufacturing order is done. |
the selection fallback | behavior | With nothing selected the clicked record is used instead, so the dropdown works either way. |
the color map | state to styling class | Five mapped states; anything unmapped renders with no color rather than failing. |
listViewWidth | registration hint | Keeps the dropdown column very narrow in a list.(default: 20) |
Two different fallbacks. The state setter falls back to the clicked record when nothing is selected; the generic call helper falls back first to the selection's evaluation context identifiers and then to the clicked record. They are not quite the same path.
Working examples
Three reasons a work order is skipped
Version compatibility
| Version | Status | Notes |
|---|---|---|
| Odoo 20.0 | In development | Not released. Substantially reworked on the development branch. |
| Odoo 19.0 | Verified | Verified against the shipped source. |
| Odoo 18.0 | Verified | Same filtering and reload pattern. |
| Odoo 17.0 | Verified | Same approach with older component conventions. |
| Odoo 16.0 | Not available | Widget does not exist. |
Upgrade note. Present since Odoo 17. The filtering rules and the reload pattern have been stable across those versions.
What is changing in Odoo 20
Common problems and fixes
| Symptom | Cause and fix |
|---|---|
| Nothing happens on a bulk action | Every selected work order was filtered out, so no call was made. Expected. Check whether they are done or already in that state. |
| Only one row changed | Nothing was selected, so the clicked record was used. Select the rows first. |
| Rows disappear after a change | The list reloads and they no longer match the filter. Expected. Widen the filter to see them. |
| A state shows no color | It is not one of the five mapped states. Expected fallback for custom states. |
| A done work order did not reopen | Done work orders are filtered out deliberately. Expected. Reopen it from the work order itself. |
| The column is very narrow | The registration hints a width of twenty. Expected; the dropdown is meant to be minimal. |
Work order dropdown vs the alternatives
| Widget | Best for | Key difference |
|---|---|---|
mo_view_list_dropdown | Changing work order states across a selection from a list | Filters out work orders it should not move, and makes no call at all when none survive |
| mrp_should_consume | Consumption quantities on a component | A quantity rather than a state |
| mrp_timer | Timing a work order | Duration rather than state |
| mrp_workorder_popover | Why a work order is late | Explanation rather than action |
| workcenter_dashboard_graph | Work center load | A chart rather than a control |
Frequently asked questions
Does it act on the selection or the row?+
Why did nothing happen?+
Why does the list reload after every action?+
What happens with a custom state?+
Which versions have it?+
Manufacturing status the shop floor keeps current
Work order states only mean something if updating them is faster than not. We implement Odoo Manufacturing and the shop floor screens around it, on versions 16 through 19.
Book a free consultation