Daily updates from Odoo
Tuesday, June 24, 2025
5 changes · saas-18.3
Resolved issues and error corrections
This fixes an upgrade issue in the Belgian disallowed expenses module by updating only accounts that already exist. Businesses upgrading from older versions can now complete the upgrade without errors, while any missing accounts can still be added later by reloading the chart of accounts.
Original PR description
#### Issue Upgrade `l10n_be_disallowed_expenses` from 18.0 to saas-18.3 fails In the post-init script of `l10n_be_disallowed_expenses` we try to write the `disallowed_expenses_category_id` field on all the accounts with xmlids in the `data/template/account.account-be.csv` file. However, some of the referenced accounts (e.g. `a241`) were added in saas-18.1, so they don't exist in 18.0. #### Fix Only write on the accounts that exist. The user can reload the CoA to create any accounts that don't exist yet if needed. task-none
VoIP error messages now show formatted line breaks instead of displaying HTML tags as plain text. This makes error screens clearer and easier for users to read when something goes wrong during calls.
Original PR description
`<br>` tags in VoIP error messages are rendered as text. This is because the code uses t-esc instead of t-out, and t-esc never renders inner HTML. This commit just replace t-esc with the proper t-out directive. |Before|After| |-|-| |||
Users can now dismiss non-critical VoIP error messages by clicking on them as intended. This prevents minor softphone warnings from lingering on screen and disrupting normal work.
Original PR description
UI-wise, there are two types of VoIP errors: blocking and non-blocking. Blocking errors are unrecoverable, they're displayed at the top of the UI and prevent further use of the softphone. Non-blocking errors, on the other hand, can be dismissed by a simple click on the error screen. Problem: the handler that hides the error screen in case of non-blocking errors wasn't attached to anything, and even if it was, its implementation was wrong! This commit makes it work as intended. Part of [task-4891947](https://www.odoo.com/odoo/project/5778/tasks/4891947).
Spreadsheet users can no longer save a global filter without a label. This restores the expected validation behavior and helps prevent unclear or confusing filters in spreadsheets.
Original PR description
Since 5f001cbf0ea5e382f00602e3307ffd1fc2eb5bf1, it was possible to save a global filter with an empty label, which is not intended. This commit restore the previous behavior by preventing the saving of a global filter with an empty label. Task: 4876003
This update adjusts an internal performance test after a related employee module change added one expected database query. It keeps automated checks accurate so teams can continue monitoring appointment performance reliably.
Original PR description
With the related Community PR [1], we made changes to the `hr.employee` module, which resulted in an increase of one additional query. This commit adds the corresponding query count update to ensure test accuracy and maintain performance visibility. [1] - https://github.com/odoo/odoo/pull/210037 sentry-6600672947