Tuesday, October 28, 2025
14 changes · saas-18.3
Resolved issues and error corrections
This update prevents an accounting screen from showing an error when an expected number field is left empty. It helps users continue their workflow without being blocked by a technical message.
Original PR description
Description of the issue/feature this PR addresses: ValueError: invalid literal for int() with base 10: '' Current behavior before PR: ValueError: invalid literal for int() with base 10: '' Desired behavior after PR is merged: not giving valueerror --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#232965
Task times in the Field Service map sidebar now stay on one line and use the proper short time format. This makes scheduled task times easier to read at a glance without changing the existing map layout.
Original PR description
### Steps to Reproduce 1. Open Field Service app 2. Navigate to My Tasks -> Map 3. Observe task pins in the left sidebar list 4. Notice time displays like "10:00" break across multiple lines ### Issue The formatted time display in FSM task map pin list items wraps to multiple lines. ### Current Behaviour Time displays like "10:00" break into separate lines. ### Expected Behaviour Time should display on a single line as one readable unit ### Fix Add text-nowrap class to the time display span in FsmTaskMapRenderer template. This prevents line breaks while preserving the existing layout structure. Task - 5079360
Companies marked with a non-applicable VAT value can now connect to CodaBox using their company registry number instead. This prevents connection issues for Belgian companies that are not subject to VAT and aligns the behavior with companies that leave the VAT field empty.
Original PR description
If a company is not subject to taxes, they may not have a VAT number. In that case, the field can be left empty, such that the Company Registry is used instead for the CodaBox connection. However, the case where "/" (Non Applicable) was used as the VAT number was handled. This commit now handles VAT="/" in the same way it handles no VAT at all by using the company registry as a fallback. The commit also cleans up how the company ID is used to avoid duplicated code by creating a computed field. opw-5164155 Forward-Port-Of: odoo/enterprise#98025
This fix prevents an error when Quality for Manufacturing is used without the Work Orders feature installed. Quality checks can now be configured without the system looking for a field that is only available in another module, improving reliability for affected setups.
Original PR description
**Issue:** The attribute operation_id for quality.point is defined in the mrp_workorder module. However, quality_mrp module does not list mrp_workorder in its dependencies. As a result in a system where quality_mrp is installed but mrp_workorder is not, the following error is raised when evaluating the constrain for quality points mesured on Operations. `"'quality.point' object has no attribute 'operation_id'"` **Proposed solution:** Override the constraint in quality_mrp_workorder to include conditions related to operation_id, ensuring that it is only evaluated when the field is available. Forward-Port-Of: odoo/enterprise#97801 Forward-Port-Of: odoo/enterprise#97338
This update fixes an intermittent automated test failure in the Barcodes app by ensuring the screen has finished updating before the test verifies results. It helps keep quality checks stable and reduces false failures during development and release validation.
Original PR description
This commit fixes a test that sometimes failed, because we didn't wait for an animationFrame after the macro was complete. As a consequence, there was no guarantee that the form view had been updated before the check. runbot error~226829 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#233153
Fixed an issue where website form fields could disappear when their visibility depended on another field whose name included the "|" character. This makes conditional form behavior more reliable and allows businesses to use any characters in form field labels without breaking the form.
Original PR description
Before this commit, after selecting a field containing the char "|" for conditional display, the field on which the condition is set will never appear again. This commit enable the use of any characters in form fields Steps to reproduce the bug: - Add a form - Add two fields (A and B) - Rename the field A with a string that contains "|" - Set the field B visibility to "Visible only if" - Set the field A as the visibility condition for field B (field B visible only if field A contains 'hello', for example) - Save the changes - Complete the field A according to the visibility condition (The second field does not appear) task-3893749 Forward-Port-Of: odoo/odoo#181275
Rating images in Live Chat, Discuss, and Ratings screens now use a transparent background instead of showing an unwanted white box in dark mode. This makes session history and rating views look cleaner and more consistent for users who work with the dark theme.
Original PR description
**Current behavior before PR:** The rating images have an unintended white background in dark mode. **Steps to Reproduce:** - Turn on Dark Mode - Go to livechat - Go to Report > Sessions History **Desired behavior after PR is merged:** This PR fixes the issue by applying a transparent background to rating images through the `img_class` option in image widget. The change is applied to: - discuss.channel (kanban, list, form views) - rating.rating (form, kanban views) --- **Before:** <img width="372" height="202" alt="image" src="https://github.com/user-attachments/assets/d573ab3e-62be-4ab2-9c7f-e39bf97cb542" /> **After:** <img width="394" height="141" alt="image" src="https://github.com/user-attachments/assets/6133c231-c634-4afd-a99f-5440ecfe72be" /> task-[4689867](https://www.odoo.com/odoo/project/1519/tasks/4689867) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#215207
This update adjusts internal test expectations after a fix changed how employee calendars are checked when generating work entries. It helps ensure payroll and appointment scheduling tests continue to reflect the correct behavior for employees using different calendar setups.
Original PR description
- adjusted some query counters to account for the extra search in `_attendance_intervals_batch` done by the method `_get_calendar_at` task-id: 5065160 Forward-Port-Of: odoo/enterprise#97948 Forward-Port-Of: odoo/enterprise#96848
This commit https://github.com/odoo/odoo/commit/74109a1b1a5d31fa55b08257f6a9365b0c1758f0 broke the po by not putting the module the term comes from. This resulting in a traceback when installing the language. It also breaks existing database with Arabic and l10n_jo already set. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Original PR description
This commit https://github.com/odoo/odoo/commit/74109a1b1a5d31fa55b08257f6a9365b0c1758f0 broke the po by not putting the module the term comes from. This resulting in a traceback when installing the language. It also breaks existing database with Arabic and l10n_jo already set. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update prevents an error when users edit the "Terms and conditions" link on a product page in the website shop editor. It improves reliability by correctly handling links whose color comes from standard styling classes.
Original PR description
Problem: On website > shop > product page, when trying to edit the link of "Terms and conditions", a traceback occurs. Cause: When applying changes on "Terms and conditions" in `shop/product`, `ColorPlugin.removeAllColor()` is called on the `a` element. Its color was applied by the `text-muted` class. This case in color removal was not properly handled. Solution: In `getFonts`, consider elements that have those special classes (e.g., `text-muted`) when processing color removal. Steps to reproduce: 1. Open website/shop. 2. Open any product page. 3. Open the editor. 4. Select the "Terms and conditions" text. 5. Click edit in the link popover. 6. Click apply. 7. Traceback occurs. opw-5130016 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#229725
This fix keeps placeholder guidance text visible and correctly styled in the report editor after an underlying editor change. It helps users continue editing reports without confusing missing or misplaced hint text.
Original PR description
Since odoo/odoo@b4d96ac60b212224e7e9a4de13e76209f42c7eda the html_editor's hint text attribute has changed This commit just adapts the report's iframe css to take that into account.
This update documents an unused event speaker biography website snippet so future maintenance teams understand why it remains in the stable version. It avoids accidental changes while confirming there is no expected impact for customers because the snippet has not been active or tied to styling or scripts.
Original PR description
Problem introduced at [1] (see [2]). In stable, this comments the code to explain the dead code presence. In master, that snippet will be removed, as nobody seemed to have missed him for 4+ major versions and its structure is not perfect (overflow hidden...). Thankfully it should not come with any compatibility issue as it was not associated with any JS/CSS). Maybe a new equivalent will be introduced in master later on. [1]: https://github.com/odoo/odoo/commit/b5c87d86cad1aa2b44f805da0b2d6635aeb85b96 [2]: https://github.com/odoo/odoo/pull/68644#discussion_r903721785 task-4084801 Forward-Port-Of: odoo/odoo#233203
Documentation and clarification updates
The contributor agreement documentation for ForgeFlow has been updated. This keeps Odoo's legal records current and helps ensure contributions are covered by the proper agreement.
Original PR description
PR: https://github.com/odoo/enterprise/pull/97338 Forward-Port-Of: odoo/odoo#232545 Forward-Port-Of: odoo/odoo#231883
Miscellaneous changes
Steps to reproduce ================== - Go to project - Open a project - Open a task - Click on the deadline field - Go to the previous page using the browser back button => The datepicker stays open Cause of the issue ================== `datetimePicker.create` was called using three parameters. But since bb1f912f04fbc4b1efe57847bceffce5895ced9b, it only accepts two. Solution ======== `createPopover` should be added to the `hookParams` This allows the popover to be cl
Original PR description
Steps to reproduce ================== - Go to project - Open a project - Open a task - Click on the deadline field - Go to the previous page using the browser back button => The datepicker stays open Cause of the issue ================== `datetimePicker.create` was called using three parameters. But since bb1f912f04fbc4b1efe57847bceffce5895ced9b, it only accepts two. Solution ======== `createPopover` should be added to the `hookParams` This allows the popover to be closed when the owner component is destroyed. https://github.com/odoo/odoo/blob/bb1f912f04fbc4b1efe57847bceffce5895ced9b/addons/web/static/src/core/popover/popover_hook.js#L65 opw-4811594 Forward-Port-Of: odoo/odoo#212580