7880c1599bd2ec1b7d836a623e986a849fb27ad4
*: website Some specific media items are meant to be editable even though located in non-editable environments. The typical case in 15.0 is the website "Team" snippet: it is made of multiple bootstrap rows, each containing a column with an image and a column with texts. The columns with the image are only meant to hold that image, it was therefore marked as non editable to prevent users adding text in there by mistake... but the image is still meant to be editable. See [1], later fixed by [2]. The problem now is that the system that [2] had to use is quite messy: the column is marked non editable thanks to the `o_not_editable` class but the inner images were to be declared editable via some custom JS method overrides (`_getContentEditableAreas`). The debate about if we should keep a class-based system and/or a method-override system will be left to master. This commit although comes with an uniformisation about this, introducing a new class to declare "an editable media despite its non editable environment". This is not a counter-part of the class `o_not_editable`: we do not want the media to be marked with the `contenteditable` attribute. Indeed, this is actually required since [2] was not enough to solve the problem. See those steps: - Add a company snippet in your page - Change one of the images by an icon - (Save / Reenter edit mode) - Try to change the icon again / edit its options => You can't. Indeed [2] relied on the media being an image to re-enable edition on it... but even if it did not, it would not have been enough. Indeed, icons are forced to being `contenteditable="false"` by the new editor library (since 15.0 then), last update on that at [3]. We thus needed a different way to differentiate editable media, hence the introduction of the new `o_editable_media` class. Note: this system is not perfect, but so is not the whole system about determining what is editable or not at the moment. In this case, it may exist cases of a media marked with the class to be editable but end up in an environment which is not editable by force (xpath somewhere etc) ... and ends up being editable anyway. Most cases work though and at worse it will be about a non editable image being editable but not possible to save in very rare cases. As advertised, the whole system about what is editable or not should be improved. [1]: https://github.com/odoo/odoo/commit/30db617bc8ff7727f40d7ef58c6578e84a13f284 [2]: https://github.com/odoo/odoo/commit/61270ee8bffb6e85f8ff0d19c7a3889fdce2f486 [3]: https://github.com/odoo/odoo/commit/7646429e894f28f398b7b212e893822c06c7b03d task-3226172 closes odoo/odoo#131139 X-original-commit: 436265e815684046a37a8b80e4cd520c2bd637f0 Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com> Co-authored-by: qsm-odoo <qsm@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%