ba7675210f1cc71cfe47a062388c39fce8c9cec0
Scenario: We have the following models: class A: submodel_1_ids = fields.One2Many(B) submodel_2_ids = fields.One2Many(B) class B: parent_model = fields.many2one(A) name = fields.Char() and the following onchange on class A: api.onchange(submodel_1_ids) def onchange_submodel1(self): // add newline to second o2m submodel_2_ids = submodel_1_ids api.onchange(submodel_2_ids) def onchange_submodel2(self): do_smth In a form view containing both o2m fields (editable="bottom" lists): 1) add a line on first o2m -> the onchange adds the same line on the other o2m 2) add a line on the second o2m Before this rev., the line (added in (2)) wasn't added at the bottom of the list, and the row in edition wasn't the newly created one. The issue occurred because we couldn't retrieve the datapoint corresponding to the other line (the one created by the onchange on the first o2m), and we thus created another which was put at the end of the list. Then, the BasicModel messed up the sort of the records because it couldn't match the virtual id of that new record with the ones in orderedResIds. We fixed the issue by preventing the model from creating a new datapoint after the onchange, by using 'ref' instead of 'res_id' to retrieve the one that already exist. closes odoo/odoo#34493 Signed-off-by: VincentSchippefilt <VincentSchippefilt@users.noreply.github.com> Co-authored-by: Aaron Bohy <aab@odoo.com> Co-authored-by: David Monjoie <dmo@odoo.com>
Odoo
Odoo is a suite of web based open source business apps.
The main Odoo Apps include an Open Source CRM, Website Builder, eCommerce, Warehouse Management, Project Management, Billing & Accounting, Point of Sale, Human Resources, Marketing, Manufacturing, Purchase Management, ...
Odoo Apps can be used as stand-alone applications, but they also integrate seamlessly so you get a full-featured Open Source ERP when you install several Apps.
Getting started with Odoo
For a standard installation please follow the Setup instructions from the documentation.
Then follow the developer tutorials
Languages
Python
49.6%
JavaScript
47.8%
SCSS
2%
CSS
0.3%
HTML
0.2%