-
- Downloads
[FIX] web: correctly edit Many2ManyCheckboxes with 100+ values
The Many2ManyCheckboxes widget displays all values that could be
in the many2many relation, with a checkbox indicating whether each
value is in the relation or not. It is designed to be set on fields
where the comodel contains a few records (typically, we don't want
to see dozens of checkboxes in the form view). This widget shouldn't
be used on many2manys with a large comodel, as we have better tools
to handle them (like a tree view).
We deal with extreme cases (when the widget is, by mistake, set on
a field where the comodel is huge) by using the name_search limit
of 100: at most 100 checkboxes are displayed.
Before this commit, this extreme situation wasn't correctly handled.
If there were in the relation records that weren't displayed
(because they weren't inside the 100 limit), then, editing the value
by (un)selecting a checkbox would automatically remove all non
displayed values from the relation.
This commit ensures that we keep in the relation all values that
aren't displayed.
Issue spotted when working on opw~2439041
closes odoo/odoo#67310
Signed-off-by:
Géry Debongnie (ged) <ged@openerp.com>
Showing
- addons/web/static/src/js/fields/relational_fields.js 11 additions, 0 deletionsaddons/web/static/src/js/fields/relational_fields.js
- addons/web/static/tests/fields/relational_fields_tests.js 56 additions, 0 deletionsaddons/web/static/tests/fields/relational_fields_tests.js
- addons/web/static/tests/helpers/mock_server.js 3 additions, 4 deletionsaddons/web/static/tests/helpers/mock_server.js
- doc/reference/javascript_reference.rst 5 additions, 2 deletionsdoc/reference/javascript_reference.rst
Loading
Please register or sign in to comment