diff options
| author | Nicolas Lempereur <nle@odoo.com> | 2021-01-20 12:19:03 +0000 |
|---|---|---|
| committer | Aaron Bohy <aab@odoo.com> | 2021-01-28 07:18:08 +0000 |
| commit | 4212f84da83257419d6d98038220ce1dc322fb04 (patch) | |
| tree | c68e5b2d2b5b4633c1fbce42d663de76dad0bfb8 /addons/web/static/src/js/fields/basic_fields.js | |
| parent | 1622aa755bb67e2d9e6efd18366be49b8e4783cb (diff) | |
[FIX] web: nested x2many with no widget and onchanges
Let's assume the following situation: in a form view, there is a
one2many field A displayed as a list (non editable). In the list,
there is another one2many field B displayed with no widget (it
basically displays "X records"). In A's form view, B is also
displayed, but this time as a list.
There is an onchange on the main form view that adds a line in A,
(and simply sets B to [[5]], i.e. 'No record').
Before this commit, if the user opened the newly added sub record in
A, and clicked on 'Add a line' of B, it crashed.
The cause of the crash was that the wrong viewType was used to
create the new (default) record in B: it used the original
viewType, which was undefined (B is displayed with no widget in
A's list). With this commit, we use the viewType of B that is used
to edit it, in this case 'list'.
In the slighlty different scenario where B is displayed with
widget many2many_tags in A's list, there were no crash, but wrong
fieldNames were sent to the 'default_get' RPC. As a consequence,
default values for fields in B's list were potentially not loaded.
opw-2422806
closes #64793
closes odoo/odoo#65157
Signed-off-by: Géry Debongnie (ged) <ged@openerp.com>
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Co-authored-by: Aaron Bohy <aab@odoo.com>
Diffstat (limited to 'addons/web/static/src/js/fields/basic_fields.js')
0 files changed, 0 insertions, 0 deletions
