4a57f9c54fb2b15de1a26373ea1c4fd5ebf8256e
In order to be able to check checklist items and color stars even when in readonly mode, we need to add unique ids to the checkboxes and stars. Since these ids were random and in order to ensure uniqueness after DOM manipulations, we updated all these ids every time the document was sanitized. Since the `sanitize` function is called every time the `cleanForSave` method is called, and since `wysiwyg`'s `getValue` method calls `cleanForSave`, this meant that the ids were modified every time we were getting the value of the wysiwyg. This meant that every call to `getValue` returned a different value, so the editable was always marked as dirty, sometimes causing an infinite loop (see steps below). This commit makes the IDs iterative rather than random, so they are predictable (practical for testing), and ensures that the ids are only updated when necessary, so that upon two consecutive calls to the `sanitize` function, only the first call may change the HTML. STEPS: * create a sale order * add checkboxes to Terms & Conditions fields * edit a sale order line * click outside the edited sale order line opw-3116430 X-original-commit: 86ff07d9c201668e372377f9ac41d3801aa223e9 Part-of: odoo/odoo#111871
…
…
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%