Wednesday, July 16, 2025
12 changes · 18.0
Resolved issues and error corrections
This fixes an issue where pressing backspace after an attached file in the HTML editor could delete both the file box and the previous character. Users can now edit content with file attachments more reliably without accidentally losing nearby text.
Original PR description
Problem: When pressing backspace after text followed by an `o_file_box`, both the last character and the file box are deleted at once. Cause: An empty `o_file_box` is skipped in `findPosition` because it's treated like a zero-width space (`.textContent === "\ufeef"`), causing incorrect position resolution. Solution: `o_file_box` elements should not be skipped during position checks, even when empty. Steps to reproduce: - Go to Quality ---> Quality Control --> Control Points - Create New. - Add text - Add a file just after the text - Delete all content of the file box - Place the cursor after the file box and press backspace -> The character before the file box is also deleted opw-4903841 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Administrators can now properly turn the user quick login option on or off. This fixes a missing setting so businesses can better control how users access the system.
Original PR description
This commit adds a missing parameter, allowing to disable this feature. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix prevents errors when Odoo processes file contents that include invalid characters, such as some PDFs or images. Instead of crashing, the system safely preserves those problematic bytes in a readable form so JSON serialization can continue reliably.
Original PR description
…shreplace Modified the json_default function to decode bytes using errors='backslashreplace'. This prevents UnicodeDecodeErrors when encountering invalid byte sequences and ensures robust JSON serialization. Description of the issue/feature this PR addresses: It get a traceback when reading rawfile of file (like .pdf, .png etc.) https://github.com/odoo/odoo/issues/205510 Current behavior before PR: Raise a traceback when wrong char were find in bytes object Desired behavior after PR is merged: Replace the wrong char with backslash and there for no traceback raised CLA Signed : https://github.com/odoo/odoo/pull/212690
The Bold report layout now handles long company addresses correctly, so they are shown fully instead of being cut off. This improves the appearance and reliability of printed reports and document previews for companies with longer address lines.
Original PR description
Issue When selecting the Bold (external_layout_bold) layout if the customer sets a long address, the address does not appear fully. To resolve the issue, we need to apply a condition on the…
Issue When selecting the Bold (external_layout_bold) layout if the customer sets a long address, the address does not appear fully. To resolve the issue, we need to apply a condition on the company_details length only apply the text-nowrap class if the length is less than the container’s capacity. Steps to reproduce the issue: 1 - choose the bold (external_layout_bold) template for report 2 - add a bigger address in one line in the document layout example :- 123 Sector 11 C Block Number 22 Ahmedabad Gandhinagar Gujarat India 3 - print the report or see in the preview of document layout Description of the issue/feature this PR addresses: Current behavior before PR: - The address in the report is not shown proper manner  Desired behavior after PR is merged: - In the report's the address is shown in correct manner.  --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix stops users from quick-creating recruitment stage email templates without the required related model. It prevents errors when moving applicants into stages that use those templates, making the recruitment workflow more reliable.
Original PR description
An error occurs when a user quickly creates a template for a stage, bypassing the validation of the `Applies to` field. As a result, an error is triggered when the user selects a stage that uses that template. **Steps to reproduce:** * Install `hr_recruitment` * hr_recruitment>Configuration>Stages>stage named `New`>Quick Create a mail template with random name and save. * Applications>All Applications>New application>Set stage to `New` `KeyError:False` **Solution:** * Disable quick create as to prevent creating mail templates with empty model ids. **Sentry-6675399135** --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#214195
Fixed an error that could occur when opening the depreciation schedule for draft assets before their computation board had been generated. This prevents users from hitting a blocking server error and keeps asset review workflows running smoothly.
Original PR description
Issue: https://github.com/odoo/odoo/issues/219112 Steps to reproduce:- - Minimum 1 asset in draft - Computation board not computed yet - Opening the depreciation schedule with draft entries. Cause:- - When asset is in draft and computation board is not computed yet no Journal Entries are created for that asset. - `asset_date` is minimum value among dates of related moves. - In this case there are no moves yet so `asset_date` is 'NoneType' - `asset_date = min([asset_date, move_vals['date']])` - In above line when we try to compare 'datetime.date' and 'NoneType' it gives rpc error. Fix: `min([asset_date, move_vals['date']]) if asset_date else move_vals['date']` Followup on commit: https://github.com/odoo/enterprise/commit/eb57a9bc4066ece08059384742d70705a646bbdc Forward-Port-Of: odoo/enterprise#90308
The rental schedule's "To Do Today" filter now correctly accounts for each user's local time zone. This prevents rental orders from appearing on the wrong day for users outside UTC, improving daily planning accuracy.
Original PR description
__Issue:__ The "To Do Today" filter used the user's local date to build a datetime range but treated it as if it were already in UTC. This caused incorrect filtering in non-UTC timezones __Fix:__ - Convert those datetimes to UTC using `.to_utc()` in the filter domain opw-4886069 Forward-Port-Of: odoo/enterprise#89718
This fixes an automated website rental checkout test so it no longer clicks the date picker during a waiting step. The change helps keep quality checks stable and reduces false build failures without changing the customer-facing rental experience.
Original PR description
remove click on datepicker in the wait step build-error-213702
This fixes when company and website fields appear in Documents. Internal users will only see them when there are multiple companies or websites to choose from, while external users will not see them, reducing confusion and preventing irrelevant options.
Original PR description
Fixes the visibility of the `website_id` and `company_id` fields. These fields other than hidden from non internal users, they should be visible to internal users only when multiple websites or multiple companies are available, respectively. Partial revert of: ddf102e5 task-4505668
This update adjusts the Australian payroll accounting test setup after a fiscal year change caused automated checks to fail. It helps keep payroll reporting validation reliable without changing day-to-day payroll functionality for users.
Original PR description
Tests failed on runbot: https://runbot.odoo.com/odoo/runbot.build.error/228503
The Belgian certified POS setup now shows the correct cash rounding requirement of 0.05 with HALF-UP rounding. This avoids misleading users during configuration and ensures the message matches official guidance and translations.
Original PR description
The message `"The rounding method must be set to 0.5 and HALF-UP"` was wrong in `pos_blackbox_be/models/pos_config.py`
```py
def _check_cash_rounding(self):
if not self.cash_rounding:
raise ValidationError(_("Cash rounding must be enabled"))
if (
self.rounding_method.rounding != 0.05
or self.rounding_method.rounding_method != "HALF-UP"
):
raise ValidationError(
_("The rounding method must be set to 0.05 and HALF-UP")
)
```
It should be `"The rounding method must be set to 0.05 and HALF-UP"` as indicated in that documentation :
https://www.odoo.com/documentation/17.0/applications/finance/fiscal_localizations/belgium.html?highlight=blackbox#certified-pos-system
It's the same for 18.0
I also added the field for translation into `pos_blackbox_be.pot`
opw-4862967
Forward-Port-Of: odoo/enterprise#87496Miscellaneous changes
This PR removes uneccessary error log which didnt give any information but was saturating logs with the error messages such as: 2025-05-08 09:32:03,242 1212 ERROR ? odoo.addons.hw_drivers.iot_handlers.drivers.SerialBlackBoxDriver: <class 'str'> Forward-Port-Of: odoo/enterprise#85023
Original PR description
This PR removes uneccessary error log which didnt give any information but was saturating logs with the error messages such as: 2025-05-08 09:32:03,242 1212 ERROR ? odoo.addons.hw_drivers.iot_handlers.drivers.SerialBlackBoxDriver: <class 'str'> Forward-Port-Of: odoo/enterprise#85023