Wednesday, August 13, 2025
7 changes · 17.0
Resolved issues and error corrections
This update fixes an internal automated test that could interfere with later tests by changing shared setup data. It helps keep website search testing reliable and reduces the risk of future test failures during maintenance.
Original PR description
In commit "[FIX] {test_,}website: avoid restricted page in search
result" (feaece25f22a184a7f1a7c5487e94afcad5f899b), a test was added but
in 18.0 it was causing errors for test that were executed after it because
the test modified a shared class variable.
This is fixed in 18.0 forward-port, but this commit fixes the issue from
16.0 up to 17.0 to avoid unexpected issue if a test was added in these
version in the future.
opw-3964793
opw-4930197
Forward-Port-Of: odoo/odoo#222812This fix prevents the website setup process from crashing when a website name contains special characters such as a backslash. Businesses can now configure themes and colors reliably even when using unusual characters in their website name.
Original PR description
Currently, using special characters like backslashes `(\)` in the website name would cause a regex substitution error during website configuration. **Steps to Reproduce:** - Install the `website` module. - Go to Settings and change the website name (e.g; "`test\`"). - Navigate to the URL: "http://localhost:8069/website/configurator" - Select a theme and a color palette for the website, then apply the changes. Error: `error - bad escape (end of pattern) at position 19` **Cause:** At [1], a backslash in the `website.name` string leads to a malformed replacement string in `re.sub()`, causing a regex syntax error due to an invalid escape sequence. [1]: https://github.com/odoo/odoo/blob/b8edcd131b3288d037bee9ee03726153932d82f1/addons/website/models/website.py#L678 **Fix:** This PR escapes the `website.name` using `re.escape()` before using it in regex substitution, prevents runtime errors during website configuration. sentry-6651288996,6557563272
This fix prevents users from receiving unnecessary security notification emails when a module upgrade reprocesses existing passwords. It reduces confusion for affected users while keeping password handling unchanged and secure.
Original PR description
saas_worker's `synchronize_metabase` will occasionally write an empty string as a password via SQL for users that have oauth via odoo.com. When a user upgrades a module that depends on base, this will then re-initialize the `res.users` model and in turn, hash all the plaintext passwords in the database. This currently sends a security email to the affected users which we want to avoid as it causes confusion. This commit fixes this behavior by using `_set_encrypted_password` instead of the `write` method. opw-4487479
Adds the missing Belgian French translation for the IBAN validation message: "THE IBAN IS Invalid, it should begin with the country code" opw-4868395 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Original PR description
Adds the missing Belgian French translation for the IBAN validation message: "THE IBAN IS Invalid, it should begin with the country code" opw-4868395 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This change updates tests for employee work entries linked to attendance contracts. It helps ensure payroll-related attendance calculations behave correctly and reduces the risk of regressions in HR workflows.
Original PR description
Another approach for https://github.com/odoo/enterprise/pull/89812 suggested by RD
The Argentina electronic invoicing test setup now stops retrying after a small number of attempts instead of looping indefinitely. This reduces wasted test time and lowers the risk of repeatedly hitting external services when the connection is unavailable.
Original PR description
In 18.0 and above test hasn't worked in months, half the time it fails because pretty much nothing works in it and half the time it's because it keeps looping on trying to set up the connection and failing (possibly because we're getting blacklisted due to how much spamming we do). For now restrict to just trying 5 times (per class since it's called from a `setUpClass`) with an exponential backoff. This may yet end up in removing the entire test directory as it doesn't seem like anyone cares. Forward-Port-Of: odoo/enterprise#92207
Peruvian PLE reports now keep the account move name exactly as entered instead of removing spaces or slashes. This helps preserve complete audit information and reduces the risk of discrepancies with tax authorities.
Original PR description
Problem: For PLE reports 5.1 and 6.1, the value for `glosa` was being modified (i.e. blank spaces and slashes removed). Although SUNAT accepts the modified value, no information should be removed in the case it might lead to issues with tax authorities during an audit. Solution: The value for `glosa` on the reports should be the exact account move name. opw-4803060 Forward-Port-Of: odoo/enterprise#91967