Daily updates from Odoo
Friday, April 10, 2026
20 changes · master
New functionality added to Odoo
This update introduces sample data for the planning field service application, allowing developers and testers to work with a realistic scenario. The addition of roles, customers, and tasks improves the ability to thoroughly test the application's functionality and workflows. This enhances the quality assurance process.
Original PR description
This PR adds demo data for the planning field service app, in order to be able to test the application with a realistic dataset. More precisely, it adds some planning roles, customers, descriptions, projects and tasks to the existing planning slots (interventions). task-5955800
Enhancements to existing features
This update allows users to control duplex printing within the report printer selection wizard. This provides greater flexibility in how reports are printed, catering to different user preferences and output requirements. The change was driven by a request to enhance the user experience and printing capabilities.
Original PR description
We now allow users to disable duplex printing in report printer selection wizard. see odoo/odoo#257843 task-6089016
This update optimizes how the system searches for calendar resources, specifically when filtering by user. Adding an index on `planning.calendar.resource.user_id` speeds up these searches, leading to faster response times for calendar-related operations. This improves overall system performance.
Original PR description
This commit adds an index on `planning.calendar.resource.user_id`, as it's the only criteria used in `get_calendar_filters` for the `search_count` and the `search_read` done after. Forward-Port-Of: odoo/enterprise#113304
This update standardizes the messages displayed in Odoo's drop zones across different modules. Previously, instructions varied, leading to potential confusion for users. Now, all drop zones use consistent language, making it clearer where elements should be placed and improving the overall user experience.
Original PR description
This commit changes the messages shown in some drop zones to indicate where dropped elements will appear, for example: "Drag blocks here, apply to all blogs". Before this commit, the messages used different wording depending on the module. After this commit, the messages are standardized to use the same wording across all modules. task-5921283
This update allows administrators to set a default joint committee for new employees. Employees can now be assigned a committee based on a pre-defined type or fall back to the company's main committee. This simplifies the process of setting up employee committees and ensures consistency across the organization.
Original PR description
This commit adds the possibility to set a default joint committee on a newly created employee from a JC defined on the employee type or a fallback to the company's main JC. TaskID-5972507
This update removes unnecessary code overrides within the Odoo Enterprise system. These cleanup efforts streamline the application, reducing potential complexity and improving performance. The changes contribute to a more efficient and stable user experience.
Original PR description
Some overrides were unused and could be removed. This commit cleans them up.
Resolved issues and error corrections
This update resolves a technical issue that was preventing accurate invoice calculations for subscription sales orders. The fix ensures that the system correctly handles cases where the next invoice date is not specified, preventing a potential error. This ensures reliable invoice generation and accurate financial reporting for subscription customers.
Original PR description
Fix a TypeError when `next_invoice_date` is unset by guarding the date comparison against a falsy value. Community PR: odoo/odoo#252198
This update fixes an issue where rental products displayed an 'out of stock' ribbon even when they had available quantity. The change ensures that rental products are not flagged as out of stock, aligning with their time-based stock management. This improves the customer experience for rental orders.
Original PR description
Currently, when a rental product's quantity on hand drops to 0, the out-of-stock ribbon is displayed on the website for that product. Steps to produce: --- - Install the `eCommerce Rental with Stock…
Currently, when a rental product's quantity on hand drops to 0, the out-of-stock ribbon is displayed on the website for that product. Steps to produce: --- - Install the `eCommerce Rental with Stock Management` module. - Create a rental product and set Quantity On Hand to 1. - Under the Sales tab, disable `Sell when Out of Stock`. - Under the Rental Prices tab, add pricing. - Go to `website > ecommerce > products > product ribbons`. - Open `out of stock` ribbon > set assign as `when out of stock`. - Create and Confirm a rental order for that product and validate the pickup. - The product's Quantity On Hand drops to 0. - Opening the product on the website Observation: --- - The product shows the out-of-stock ribbon. Cause: --- - At [1], the or condition evaluates to True because the ribbon is configured as `when out of stock`, `Sell when Out of Stock` is disabled under the Sales tab, and `_is_sold_out` also returns True since the quantity dropped to 0 after the pickup was validated. As all conditions are met, the ribbon is returned and displayed without ever checking whether the product is a rental. Skip the out-of-stock ribbon assignment for rental products, since their stock availability is time-based. [1]: https://github.com/odoo/odoo/blob/12dd03fb678870ddd3f1f8dca66aa3f934aa7985/addons/website_sale_stock/models/product_ribbon.py#L21-L28 opw-6081483 --- Forward-Port-Of: odoo/enterprise#113280 Forward-Port-Of: odoo/enterprise#112660
A technical glitch in the UrbanPiper test order wizard was causing errors. This update removes a feature that was incorrectly attempting to open product forms, preventing the error and ensuring the wizard functions correctly. This improves the stability of the test order process.
Original PR description
Steps to Reproduce ---------- - Make an UrbanPiper Test Order - Select a product - Click the external-link (open) icon - POS traceback appears Issue ----------- Clicking the “open product” icon triggered a traceback because the POS attempted to load the missing hr_expense_product_form view. Fix -------------- Disable form open/create for the product field to remove the quick-open product icon, as there is no need to open the product form from this wizard. Task-6089707 Forward-Port-Of: odoo/enterprise#112819
This update resolves a technical problem where the Knowledge editor wasn't properly initializing its features. By ensuring the editor calls the parent implementation of `onEditorReady`, this fix restores the expected functionality and prevents missing initialization logic. This improves the overall stability and reliability of the Knowledge module.
Original PR description
Problem: The Knowledge editor overrides `onEditorReady` but does not call the parent implementation, which leads to missing initialization logic. opw-5266687
This update fixes a technical issue that was causing upgrade testing to fail for the Dimona payroll module. Specifically, a check was preventing the loading of menus during the upgrade process when the company wasn't set to Belgian. The fix moves the check to a safer location, ensuring proper functionality during upgrades while maintaining the intended business rule.
Original PR description
The Dimona models were raising an exception in get_views() when the current company was not Belgian. This caused upgrade mock crawl tests to fail, since opening the related menus after upgrade triggered the error and made them appear as broken. This commit moves the check to default_get() instead, so the restriction is still enforced when creating records, while keeping menu/view loading safe during upgrade crawling.
This update prevents the 'Plan Services' field from appearing on product forms when 'Sales' functionality isn't enabled. This ensures that users only see relevant options based on their business needs, streamlining the product selection process. The change improves data consistency and user experience.
Original PR description
In the product form, the plan services field was visible even if 'sales' was not enabled on the product. We therefore fix the visibility conditions not to show the field if sales is not enabled. Upgrade PR: https://github.com/odoo/upgrade/pull/9214 task-4886404
This update resolves a technical issue where incorrect HTML messages were appearing in the ‘chat’ feature when creating asset bills. This ensures that all bill-related information is displayed correctly, improving the clarity and accuracy of communication within the system. It’s a minor fix that enhances the user experience.
Original PR description
This commit fixes the broken message in chatter posted during asset creation when confirming bill. task-6103974
This update removes unnecessary visual elements from the settings forms, streamlining the user interface. The change was made to address an issue caused by a previous project and simplifies the layout for a cleaner experience. This improves usability and reduces visual clutter.
Original PR description
Before this commit, some unwanted boxes appeared due to the m3 project. This commit removes them from certain settings forms. To do so, we simplified the view by removing ´<group>´ elements, as the labels were not needed. This avoids the issue.
This update enhances the security of Odoo's core modules by making compute methods private. Previously, these methods were accessible via RPC, which wasn't appropriate and could pose a security risk. This change ensures that compute methods only access internal data, improving overall system stability and security.
Original PR description
Compute methods should be private (via prefixing it with '_'). Without that, and with no `@api.private` defined on it, they are publicly exposed for RPC, which doesn't make sense for a compute method, reading instead of reading the computed field instead.
This update corrects a minor technical issue where a previously removed code reference persisted in a reporting module. The change ensures the system functions correctly and avoids potential inconsistencies. It's a routine maintenance update to improve the stability of the Odoo Enterprise platform.
Original PR description
The account_return_type record 'KMD INF Report (EE)' (l10n_ee_reports.ee_kmd_inf_tax_return_type) was removed [here](https://github.com/odoo/enterprise/pull/98471/changes#diff-73727ce6b3fc23788e37d59fb9160d29158b84e7f082db85b6732a731e814a42L11), but its reference code still existed in the condition. opw- 6056471 Forward-Port-Of: odoo/enterprise#113401
This update resolves an issue where material resources with assigned roles were still visible when filtering by employees in the Planning app. The fix improved the filter logic to accurately exclude these resources, ensuring that only employee-type resources and those without assigned roles are displayed. This improves the accuracy of the Planning view.
Original PR description
Steps to Reproduce: 1. Open the Planning app. 2. Go to Configuration -> Materials. 3. Set a role on either the demo material resource laptop or toolkit. 4. Go back to the Planning view. 5. Apply the view filter employee (filter by Employees). Issue: The material resource with a role should not be visible, but it is still present. Current behaviour: When filtering the Planning view by Employees, material resources with an assigned role remain visible. Expected behaviour: Material resources with an assigned role should be excluded from the Planning view when filtered by Employees — only employee-type resources and resources on which role is not set should appear. Fix: Improved the filter domain so unnecessary data are excluded. Task-4526989 Forward-Port-Of: odoo/enterprise#113477 Forward-Port-Of: odoo/enterprise#92816
This update resolves an issue where the payment report screen incorrectly attempted to create a new Company Autopay Account without a properly configured partner. The fix disables this automatic creation to ensure accurate bank account setup. Adding a new field to always use the company partner was considered but deemed unnecessary for this specific workflow.
Original PR description
Disable creating a new Company Autopay Account from the payment report screen, as it doesn't work without a default partner in the context. Setting the partner to the company one would be another solution, but it requires adding a new related field which may not be worth it for this flow only. task-6098463 Forward-Port-Of: odoo/enterprise#113252
This update corrects a technical issue where payroll data was being unintentionally transmitted in non-production (test) environments. This change ensures that sensitive payroll information remains isolated to testing, improving data security and preventing potential errors in live operations. The fix focuses on a specific module within the Odoo Enterprise platform.
Original PR description
Forward-Port-Of: odoo/enterprise#113504
Code cleanup and technical improvements
This update replaces a risky, older method of evaluating expressions with a safer, dedicated system. It simplifies calculations within Odoo reports, specifically in the account_report module, and reduces potential security vulnerabilities. This change improves the stability and maintainability of our reporting features.
Original PR description
Replace the legacy eval-based expr_eval with an AST evaluator for simple expressions, that now also supports variables and context
The new `expr_eval` has a small subset of python syntax: arithmetic, comparisons, boolean operators, literals, lists, tuples, dicts, sets, variables passed as context, subscripting, and min/max.
This works for simple formulas and simple domain expressions and avoids ever going through `eval` for these
(https://github.com/odoo/enterprise/pull/107659 already deprecates `const_eval` btw)
community: https://github.com/odoo/odoo/pull/255216