Monday, August 18, 2025
11 changes · saas-18.2
Resolved issues and error corrections
Website names containing characters such as backslashes no longer cause the website configurator to crash. This makes setup more reliable for businesses using custom branding or 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`…
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 Forward-Port-Of: odoo/odoo#213083
This update fixes a failing automated test for the HTML editor toolbar in the Community edition. It helps keep quality checks reliable by accounting for differences between Community and Enterprise interface sizing, without changing customer-facing behavior.
Original PR description
Turns out the test only failed in community and none of my previous fixes could have solved it because the issue is that the sizes are not all the same between community and enterprise. I'm not sure if this is intended but that will be the subject of another task. In this PR I focus in fixing this test that fails deterministically in community. runbot-230955 Forward-Port-Of: odoo/odoo#223156
This fix makes an automated live chat chatbot setup check wait until changes are fully saved before continuing. It helps reduce false test failures, supporting more stable releases without changing everyday user behavior.
Original PR description
This commit fixes the "change_chatbot_step_type" tour which fails because it doesn't wait for the form to be properly saved. This commit fixes the issue by waiting until the save button disappears. fixes runbot-229962 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#222994
This fixes an issue where tax descriptions could include hidden HTML formatting in Italian electronic document exports. The descriptions are now converted to plain text before generating XML, helping prevent rejected or incorrect withholding tax files.
Original PR description
The description field of the tax record was changed from char to html. This can break the dit functionality, as it now inserts the html tags into the description field. This PR aims to format the field as plaintext before rendering the XML to avoid such isses. opw-4985645 Forward-Port-Of: odoo/odoo#222948
Grouped outgoing bill payments now keep the full payment memo by combining the memos from each individual payment. This ensures suppliers receive the expected payment communication and avoids confusion caused by internal workflow changes affecting external messages.
Original PR description
The payment memo of grouped bills should always consist of the concatenation of individual payments memos. This commit is a partial revert of the changes done in this PR https://github.com/odoo/odoo/pull/162762 The original task was intended to improve internal workflows and should not have impacted payment communications to suppliers. task-4936572 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#218787
Peruvian PLE reports 5.1 and 6.1 now keep the glosa description exactly as the original account move name, without removing spaces or slashes. This preserves full transaction information for audit consistency and reduces the risk of questions from 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#92271 Forward-Port-Of: odoo/enterprise#91967
A test in the timesheet holidays area was made independent of the current date and timezone. This prevents false failures in automated checks without changing business features or user behavior.
Original PR description
Before this commit, when the `test_timer_methods_handle_project_access_restrictions` test is executed after 22h in UTC the test failed because the timezone of the current user is the belgian one. This commit makes sure the date and timezone no longer affects this test since it is not the purpose of this test. runbot-error-230490 Forward-Port-Of: odoo/enterprise#92264
Belgian payroll departure wizards now limit employee choices to the company the user is currently logged into. This prevents users from accidentally selecting employees from other companies and keeps departure-related payroll actions focused on the correct organization.
Original PR description
Added a domain to employees to limit the employee field in the departurre wizard to the logged in company **Steps to reproduce:** - Log into a Blgian Company - Access the Departure wizard through Payroll/Reporting or through the cog actions in an employee. **Issue:** Previously, when using the departure wizard, the employees shown were all the employees across different companies, when in reality it should be employees of the logged in company only **Fix:** Added employee domain so that it allows employees from the current logged in company only Task: 4965719 Forward-Port-Of: odoo/enterprise#92224 Forward-Port-Of: odoo/enterprise#90813
This change makes the restaurant preparation display test wait until the Point of Sale has finished its final request before ending. It helps prevent false test failures, improving confidence in release checks without changing customer-facing behavior.
Original PR description
Sometimes, the last request of the test is not completed before the end of the test. This commit adds a check to ensure that the PoS is not making a request before finishing the test. Runbot error: 230954
Swiss payroll contracts now allow the same monthly wage type to be used more than once where needed. This prevents unnecessary blocking during contract setup and supports more accurate payroll configuration.
Original PR description
task-5008742 Forward-Port-Of: odoo/enterprise#92089
Payslips now show the correct weekly hours when an employee uses a flexible working schedule. This helps payroll documents reflect the employee’s actual schedule settings and avoids confusing or outdated hour totals.
Original PR description
> note: this PR should only be FW'd till `saas~18.4`, after that for `saas~18.5` (i.e., `master`), [this PR](https://github.com/odoo/enterprise/pull/85557) should be merged. ### Steps to reproduce: -…
> note: this PR should only be FW'd till `saas~18.4`, after that for `saas~18.5` (i.e., `master`), [this PR](https://github.com/odoo/enterprise/pull/85557) should be merged. ### Steps to reproduce: - Enable "Flexible Hours" in a working schedule. - Assign the schedule to an employee. - Generate a payslip for the employee. - Observe that the "Working Schedule" section always shows `hours_per_week` from the total hours calculated from the Work Schedule defined before turning on "Flexible Hours" ### Description: - the payslip incorrectly displayed the weekly working hours from the Work Schedule regardless of whether the employee's schedule used flexible hours. ### Cause: - the report template did not check for the `flexible_hours` flag and always rendered the value from `contract_id.hours_per_week`. ### Fix: - added a condition in the payslip template to check if `flexible_hours` is enabled. - if true, it displays `full_time_required_hours` from the working schedule instead of the contract's `hours_per_week`. task: 4719717 Forward-Port-Of: odoo/enterprise#83910