e4b66668e0ff3d5444ef7fc7b79e6226c513e2c0
In a many2many_tags field with onchange and on a slow network, quickly add or remove tags several times. Each call to update sends a command 6 (SET) based on the current state of the record (typically here, the very initial state). For example, if there're 2 tags [1, 2] in the relation and I add 3, a command 6 with ids [1, 2, 3] is sent. If I quickly add 4 before the onchange returns, another command 6 with ids [1, 2, 4] is sent. At the end, 3 would not have been added to the relation. With this commit, we don't use the command "set" anymore. Instead, we use a combinaison of commands "link" and "unlink" to add and remove records from the relation. This way, we don't need to know the current state of the record, and we can be sure that the final state of the relation is the one we expect. Task-id 3522153 closes odoo/odoo#140644 Related: odoo/enterprise#49995 Signed-off-by: Aaron Bohy (aab) <aab@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, ...
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.
To learn the software, we recommend the Odoo eLearning, or Scale-up, the business game. Developers can start with the developer tutorials
Languages
Python
49.6%
JavaScript
47.8%
SCSS
2%
CSS
0.3%
HTML
0.2%