Tuesday, December 23, 2025
4 changes · master
Code cleanup and technical improvements
This update reorganizes how Discuss-related customizations are loaded across several Odoo apps. It reduces setup complexity for future changes and lowers the risk of inconsistent behavior across backend, portal, website, and live chat experiences.
Original PR description
\* = cloud_storage, crm_livechat, hr, hr_holidays, im_livechat, portal, project, rating, resource_mail, website, website_livechat Currently, each module is responsible of adding discuss overrides…
\* = cloud_storage, crm_livechat, hr, hr_holidays, im_livechat, portal, project, rating, resource_mail, website, website_livechat Currently, each module is responsible of adding discuss overrides into each of the top level bundle (backend, public page, livechat, portal). This means when adding one folder in a new module, it might need to be added into 4 different bundles. This requires knowledge of the bundles and forgetting one of them might lead to unexpected behavior. The bundle name also does not match with the path of the file, which adds confusion. This also doesn't give much granularity for where overrides are applied: they are always applied after all files of the dependent modules, but this might not always be desirable. This commit refactors the discuss bundles so that one bundle = one path. The intent of the path was already correct (to match the top level bundle), which is unchanged. The only change is now having matching intermediate bundle names. As an example: overrides of `core/web` in a module can directly be included in `mail.assets_core_web` (matching name, single line in manifest) rather than having to override each of the top-level bundle separately (backend, public page, livechat embed, portal) to add the new folder. task-5089477 https://github.com/odoo/enterprise/pull/94744
This update refactors the structure of IoT views within several Odoo modules to enhance clarity and maintainability. The `iot_views` file has been broken down into more specific views for IoT boxes, devices, and related functionalities. This change improves the organization of IoT-related code and simplifies future development.
Original PR description
To improve clarity in IoT related modules, we split `iot_views` into `iot_box_views`, `iot_device_views`, ...
This update streamlines the assets used for discussion features across several Odoo modules, including AI, Live Chat, Approvals, and Knowledge. The changes optimize performance and reduce file sizes, leading to faster loading times and a better user experience for users engaging in discussions. This is a refactoring effort focused on improving efficiency.
Original PR description
\* = ai, ai_livechat, ai_website_livechat, approvals, knowledge, website_helpdesk_livechat, whatsapp Enterprise counter-part. task-5089477 https://github.com/odoo/odoo/pull/227141
This update simplifies customizing Odoo's grid views by introducing a new system for defining sub-templates within the GridRenderer. Previously, customization relied on complex XPath expressions, which were difficult for non-technical users to manage. This change allows for easier and more flexible customization of grid layouts without requiring deep technical knowledge.
Original PR description
_*= timesheet_grid, hr_work_entry_enterprise - Introduce a static `subTemplates` attribute on GridRenderer to define Section, Row, Footer, and other sub-templates. - Use these sub-templates in the main grid renderer template instead of hardcoded template names, allowing easier customization without XPath. - Updated the custom GridRenderer to rely on the new subTemplates structure. task-5400478