Thursday, November 6, 2025
13 changes · saas-18.2
Resolved issues and error corrections
This fix ensures dropshipping return billing tests have the required accounting setup when demo data is not installed. It prevents missing purchase journal errors during automated checks, improving reliability without changing day-to-day user workflows.
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
This fixes a problem where highlighted text in website course slides could fail when a slide was opened in fullscreen mode. Learners should now see the intended visual highlighting consistently, improving the course viewing experience.
Original PR description
**Issue:** `this.websiteAnimateWidget` is undefined Also the fix wasn't working properly in later versions. This is due to an incorrect conflict resolution in the forward port of the related fix. **Fix:** The fix for websiteAnimateWidget was made obsolete in these versions with: https://github.com/odoo/odoo/commit/22e777c046521f3f89b62caa5876680beb7f5aba But the original issue of `textHighlightWidget` was still present and not properly caught by the tour. The new fix add the fullscreen slide to the selector of the TextHighlight interaction which is restarted when fullscreen is enabled. related: https://github.com/odoo/odoo/commit/184c6f855f703239864f482ff252beb1293c343d opw-4978798 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Expense report PDFs using DIN5008 formatting, such as German localization, now show the report title only once. This improves the printed document presentation and avoids confusing duplicated headings for employees and finance teams.
Original PR description
Issue: Expense title is duplicated when printing an expense report for localizations using the DIN5008 standard. Steps to reproduce: - Install German localization - Create a new expense report - Print the expense report PDF -> Title is duplicated Cause: DIN5008 reports tries to load a value `din5008_document_title` in their header and fallbacks to report's name With this commit, we add a bridge module to extend the expense sheet report and set the `din5008_document_title` to `Expenses Report`. opw-4314414 Forward-Port-Of: odoo/odoo#212923
This fix makes table cell selection behave correctly in Firefox when users select cells in reverse directions, such as right to left or bottom to top. It prevents the first selected cell from being dropped, making table editing more predictable and reducing user frustration.
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 Forward-Port-Of: odoo/odoo#227694
Shared project users can no longer edit Kanban stages from the shared project view. This prevents an error that occurred when they used the stage editor and clicked “Search More,” making shared project access more stable.
Original PR description
Steps to reproduce: - 1. Install the Project module. 2. Create a new project and share it with a user. 3. Log in as that user. 4. Open the shared project Kanban view and try to edit a stage. 5. Try to search for more projects. Issue: - A traceback occurs when clicking on 'Search More'. Fix: - Prevent stage editing in shared project Kanban view. task-5176630 Forward-Port-Of: odoo/odoo#233557
Event ticket prices in the event form now display the relevant currency symbol. This makes pricing clearer for users and helps avoid confusion when managing paid event tickets.
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 Forward-Port-Of: odoo/odoo#233470
Restaurant receipts now consistently show the cashier or server name, including when an order uses presets such as Eat In. This makes receipts clearer for customers and staff by ensuring service attribution is always visible.
Original PR description
Currently cashier name is only shown if no preset is shown or if the present identification is set on name. Steps tot reproduce: -------------------- * Open restaurant * Make sure you use the Eat in preset * Place an order and pay it > Observation: On the receipt the "Served by:" indication is not shown. Why the fix: ------------ The cashier/server information should not depend on the preset used. opw-5154347
Fixes an issue where the image toolbar could fail to open after the editing area lost focus. This makes image editing more reliable for users returning to an editor and selecting an image.
Original PR description
Description of the issue: - The image toolbar failed to open when the editable had lost focus. - Previously, `focusEditable()` exited early if the active element was inside the editable, even when the actual document selection wasn’t. Solution: - Updated the condition in `focusEditable()` to also check whether the document selection is inside the editable. - Now it only returns early when both the active element and the selection are within the editable. task-5117272 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#230549
When sending a message from a contact record, Odoo now correctly recognizes contacts whose email field contains multiple addresses. This prevents extra duplicate contacts from being created for additional email addresses and keeps chatter recipients cleaner.
Original PR description
**Steps to reproduce:** - Go to the `Contacts` app - Create a new contact - Add multiple emails in the email field (e.g. `"test1@example.com,test2@example.com"`) - Click on `Send Message` button in…
**Steps to reproduce:** - Go to the `Contacts` app - Create a new contact - Add multiple emails in the email field (e.g. `"test1@example.com,test2@example.com"`) - Click on `Send Message` button in the chatter - Default recipients are computed for each email - One of them match the contact, the other doesn't but still pass to the badges list - When sending a message, the second mail is considered as a new contact to create **Issue:** Emails coming from an email field with multiple emails are considered separately when added in the chatter recipients. The partner only match the first one which means that the second one creates a duplicate. This seems to be the default behavior when receiving an email from the additional email address of a partner (`If an email is not unique (e.g. multi-email input), only the first found valid email in input is considered.`), but automatically filling the recipients badges in this way seemed unintended. **Fix:** Properly parsed the email field of recipients to match the partner and avoid creating a duplicate when sending a message on a contact page. opw-4929564 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The account reports info popover now uses a lighter text color in dark mode. This makes the displayed formula easier to read for users working in the dark theme, especially in debug mode.
Original PR description
When using the dark mode, the popover available only in debug mode on the account reports (when pressing the info button on the right of each line) used to display the formula with a dark color, making it hard to read. Forward-Port-Of: odoo/enterprise#98905
This update corrects automated tests for the accounting reports module after a previous change caused them to fail. It helps keep the reporting feature reliable and ensures future updates can be validated correctly.
Original PR description
See https://github.com/odoo/enterprise/commit/5291d0249ba925182fb9e670f9b46b9e57bda00c Forward-Port-Of: odoo/enterprise#98891
Miscellaneous changes
task-5184489 Related: https://github.com/odoo/enterprise/pull/98193 Forward-Port-Of: odoo/odoo#233275
Original PR description
task-5184489 Related: https://github.com/odoo/enterprise/pull/98193 Forward-Port-Of: odoo/odoo#233275
task-5184489 Related: https://github.com/odoo/odoo/pull/233275 Forward-Port-Of: odoo/enterprise#98193
Original PR description
task-5184489 Related: https://github.com/odoo/odoo/pull/233275 Forward-Port-Of: odoo/enterprise#98193