Wednesday, November 5, 2025
15 changes · 18.0
Enhancements to existing features
This change makes the quote builder test suite more resilient when other installed modules rename sales order status labels. It helps prevent unrelated test failures and keeps automated checks reliable across different setups.
Original PR description
### Description of the issue/feature this PR addresses: This ensures that `sale_pdf_quote_builder` tests pass even if a third party module that renames `sale.order` `state` selections has been installed. ### Current behavior before PR: Tests fail. ### Desired behavior after PR is merged: Tests pass. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update makes an error message more explicit when Odoo blocks certain files because they come from an uninstalled module. The goal is to help support teams and users understand the cause faster, reducing time spent investigating the issue.
Original PR description
While working on a support ticket, I was faced with this exception handling: https://github.com/odoo/odoo/blob/49061347c181b1a451435bc363bb9508db8b6fab/odoo/addons/base/models/ir_asset.py#L344-L346 It might be nitpicky, but given the if condition, the exception error text could be more explicit about the fact that it's raised because the files in question being from an uninstalled addon/module. This might fast track troubleshooting without having to dive into the source code to understand why the error is being raised. There is always the possibility that I might be missing some context or other scenarios where this error could be raised. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#179889
Resolved issues and error corrections
The invoice totals on printed documents now use the company’s theme color consistently for both the label and the amount. In layouts with a colored totals area, the text also switches to a contrasting color so it remains easy to read.
Original PR description
Issue: - Totals amount text stayed black in invoices when using SA (and other) templates. - Only the label (inside strong) changed color, the value (inside span) did not. - In Boxed/Bubble, totals…
Issue:
- Totals amount text stayed black in invoices when using SA (and other) templates.
- Only the label (inside strong) changed color, the value (inside span) did not.
- In Boxed/Bubble, totals row has a colored background but text didn’t always switch to a readable .
Repro steps:
- Create company in Saudia Arabia
- Company → Document Layout: Light or Boxed (others also affected).
- Create a customer invoice with taxes and print without payment.
- Observe totals: label colored, amount remains black. In Boxed, amount can be unreadable over the colored background.
Cause:
- CSS targeted .o_total strong only; amounts are in span, so they weren’t colored.
Boxed sets totals cell background to the company primary, but text color didn’t flip to a contrast color.
Solution:
- General (all layouts): color the whole totals cells so label + amount are styled:
.o_total td { color: <company primary>; }
- Boxed override: ensure readable contrast on colored background:
#total .o_total td { background-color: <primary>; color: preview-color-contrast(<primary>); }
#total .o_total td strong { color: inherit; }
opw-5169079
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prMiscellaneous changes
task-5184489 Related: https://github.com/odoo/enterprise/pull/98193
Original PR description
task-5184489 Related: https://github.com/odoo/enterprise/pull/98193
This update restores the Swedish point-of-sale test tour by adding the missing IoT device mock. It matters because it allows the automated checks for this POS flow to run correctly again after earlier changes.
Original PR description
Due to changes introduced in odoo/enterprise#98179, the Swedish blackbox POS tour was broken. The fix is to add a mock for the IoT device, which was done in the forward ports but missed in 18.0. This commit adds the IoT mock to fix the tour. runbot-233700
This update adds the missing currency symbol next to event ticket prices in the event form. It makes pricing clearer for users and helps avoid confusion when working with ticket costs.
Original PR description
Add missing currency symbol next to the event ticket price in the event form view. Task-5114075 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This change fixes a formatting issue in the editor where empty items inside tables or lists were not being handled correctly. It helps keep content consistent when users leave nested blocks empty, improving the reliability of edited documents.
Original PR description
Description of the issue this PR addresses: Commit [1] ensured that empty nodes are filled, but only handled the last element itself. If the last element was a container block (e.g, a table or list) containing empty child blocks such as or , those inner nodes were not filled. This commit ensures that is also applied to those leaf empty blocks nested within such container elements. [1]: 133478b --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update fixes several spelling mistakes in the Surveys app, including menu labels, breadcrumbs, dashboard text, and a column heading. It improves the clarity and professionalism of the user interface, but does not change how the feature works.
Original PR description
**Surveys app misspellings on main menu item, dashboard name, breadcrumbs, and column label** Impacted versions: - 16.0+ (confirmed on Runbot, however the PR target is 18.0+ to only be applied on the latest stable release) Steps to reproduce: 1. Open any Community Runbot (or deploy Odoo locally) 2. Navigate to the **Surveys** app to view misspelling across multiple app views. Current behavior --> Expected behavior - "Participations" is not a word --> It should be "Participants" - "Quizz" is misspelled --> It should be "Quiz" Proposed changes highlighted in green [here on the screenshots](https://imgur.com/a/0vM48R0). --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix corrects a problem in the editor where selecting table cells from right to left or bottom to top in Firefox could drop the first cell from the selection. It improves the reliability of table editing for users working in Firefox.
Original PR description
Steps to Reproduce: 1. Create a table in the editor (Firefox). 2. Select table cells backward (right → left or bottom → top). Description of the issue this PR addresses: - The first selected cell does not remain selected in Firefox when extending the selection backward. task-5094832 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
**Steps to reproduce** - With Studio, create a many2one field in relation to the Employee model. - Have a user with no "Employees" rights. - With this user and in mobile view, click on the field to select an employee. -> No records found. Note: the many2one_avatar_employee widget used in HR apps avoid this problem. **Cause** Issue since https://github.com/odoo/odoo/commit/e962860c6f0d8ec9e50bb376e1faab5c7bc69374 The `web_search_read` on the private employee model returns no record
Original PR description
**Steps to reproduce** - With Studio, create a many2one field in relation to the Employee model. - Have a user with no "Employees" rights. - With this user and in mobile view, click on the field to…
**Steps to reproduce** - With Studio, create a many2one field in relation to the Employee model. - Have a user with no "Employees" rights. - With this user and in mobile view, click on the field to select an employee. -> No records found. Note: the many2one_avatar_employee widget used in HR apps avoid this problem. **Cause** Issue since https://github.com/odoo/odoo/commit/e962860c6f0d8ec9e50bb376e1faab5c7bc69374 The `web_search_read` on the private employee model returns no records when an `image_*` or `avatar_*` field is part of the requested fields. This is because we try to fetch these fields https://github.com/odoo/odoo/blob/188a3fe45fb41463ff86d1fa5e930ab43fb70d0e/addons/hr/models/hr_employee.py#L240 but they are not stored on the public employee model, and will not be put in cache. When performing a read after that, these fields are missing from cache. We try to fetch them from the db https://github.com/odoo/odoo/blob/e962860c6f0d8ec9e50bb376e1faab5c7bc69374/odoo/models.py#L3185 but this fetch is again done using the public employee. This results in missing values and is interpreted as an access error, no data is returned in `web_search_read`. **Solution** Read the problematic fields to make them present in cache when the cache of the public employee is copied to the one of the private employee. opw-4297115 Forward-Port-Of: odoo/odoo#197575
This change updates the dropshipping test so it includes the accounting setup needed to create purchase invoices. It prevents the test from failing when demo data is not installed, improving reliability in automated checks.
Original PR description
The test `test_dropship_return_backorders_bill_on_order` failed when running without demo data because no chart of accounts was installed, so no Purchase journal existed. As a result, `purchase_order.action_create_invoice()` raised: UserError: No journal could be found in company ... for any of those types: purchase This change inherits from `AccountTestInvoicingCommon` to have the necessary charts. [runbot-231285](https://runbot.odoo.com/odoo/error/231285) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#224775
The mobile search panel popover now uses a background color that matches both light and dark themes. This improves readability and visual consistency for users on mobile devices, without changing the feature itself.
Original PR description
This commit adjusts the search_panel background color so it adapts correctly to both light and dark modes on mobile. It only affects the "popover" use case. task-5121027 Requires: - https://github.com/odoo/enterprise/pull/98248 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The mobile search panel now uses colors that fit dark mode better. This makes the interface easier to read and more consistent for users who work on phones or tablets at night or in low-light settings.
Original PR description
This commit adapts colors of search_panel for mobile in dark mode. | Before | After | |--------|--------| | <img width="904" height="1022" alt="image" src="https://github.com/user-attachments/assets/9136de22-3ce1-40e3-bb79-8f87c8ee2bf8" /> | <img width="372" height="653" alt="Capture d’écran 2025-10-29 à 08 37 39" src="https://github.com/user-attachments/assets/6aff402b-6dc8-46ce-8e2a-d55887374f51" /> | Requires: - https://github.com/odoo/odoo/pull/234361 task-5121027
This change corrects the automated tests for the tax reporting feature after a previous update caused them to fail. It helps ensure the tax report continues to behave as expected and reduces the risk of regressions in future updates.
Original PR description
See https://github.com/odoo/enterprise/commit/5291d0249ba925182fb9e670f9b46b9e57bda00c
task-5184489 Related: https://github.com/odoo/odoo/pull/233275
Original PR description
task-5184489 Related: https://github.com/odoo/odoo/pull/233275