Tuesday, December 16, 2025
4 changes · 17.0
Resolved issues and error corrections
This update addresses an issue where runbot reports weren't accurately capturing errors or warnings during test module runs. The change restores logging to provide better reporting, while maintaining a standard experience for local testing. This ensures more reliable and comprehensive test results.
Original PR description
One of the changes in #118332 was to let exceptions bubble up to the interpreter in case of error, to improve the experience while running the script locally. This turns out to have downgraded runbot reporting significantly as it doesn't account for stderr / log tracebacks if it got error-level (and possibly even warning-level) logs during the run. Hopefully get the best of both world (and shorten tracebacks slightly) by restoring `logging.exception` at the script level but triggering an abnormal exit for local CLI utility. Forward-Port-Of: odoo/odoo#239995
This update fixes an issue where Sendcloud delivery address parsing incorrectly handled addresses with multiple dashes or slashes, such as those common in Austria. The change improves the accuracy of address recognition, ensuring correct delivery address formatting and preventing potential delivery errors. This ensures accurate address data is used when creating shipments.
Original PR description
Issue ----- When creating a sendcloud delivery, addresses containing multiple dashes or slashes (eg Austrian addresses) have their number incorrectly parsed. Examples: Innsbruck Straße 8/1/13 -> 8/11 (should be 8/11/13) 7-3/11A Hochköning Straße -> 7-3 (should be 7-3/11A) Fix ----- Update part of the regex pattern from `\d+[-\/]?\d*` to `\d+(?:[-\/]?\d+)*` in order to match multiple occurences of one of '-', '\' or '/' followed by some number. ----- Ticket: opw-5366863
This update ensures that rental orders created from leads automatically include the tags associated with the original lead. Previously, rental orders lacked this tag inheritance, which is now corrected through a code adjustment. This improves data organization and reporting for rental agreements.
Original PR description
Versions -------- - 17.0+ Steps ----- 1. Have a lead with tags; 2. convert lead to rental order. Issue ----- The new rental order has no tags. Cause ----- Tags are added to regular sales orders via the `_prepare_opportunity_quotation_context` method, but rental orders use `_get_action_rental_context` instead, which is virtually identical, but adds the `in_rental_app` context value, and doesn't include `default_tag_ids`. Solution -------- Rather than having duplicate code, make `_get_action_rental_context` retrieve the base context from `_prepare_opportunity_quotation_context`, then adding `in_rental_app=True`. opw-4549941
This update resolves an error that occurred when generating payslips for employees on weekends, specifically when a public holiday fell on a Saturday. The fix ensures the system correctly verifies the holiday's presence in the employee's schedule before generating the payslip, preventing errors and ensuring accurate payroll calculations.
Original PR description
## Short functional explanation of the error Let's say we have created a public holiday on a Saturday, which is out of an employee's schedule as they work from monday to friday. When trying to create…
## Short functional explanation of the error Let's say we have created a public holiday on a Saturday, which is out of an employee's schedule as they work from monday to friday. When trying to create a payslip for this employee for the month the public holiday occurs, it will show an error. ## Reproduction Steps 1. Create a public holiday on a Saturday. Set the Working Hours to a schedule not including Saturdays. Set the Work Entry Type as Generic Time Off. 2. Click on the Configuration tab > Time Off Types. 3. Create a Time Off type. Set the Requires Allocation field at No Limit, and the Work Entry Type field at Generic Time Off. 4. Click on the Management tab, then Time Off. 5. Click on New. Make sure to select an employee who has the same working schedule as the one you set for the public holiday, and that on their contract, their Work Entry Source is set to Working Schedule. Set the Time Off Type field to the one you just created. 6. Save and click Approve. 7. Go to Payroll. In Contracts, make sure that the employee's contract is running, and that their contract type is Full-Time. 8. Click on the Payslips tab > to pay. 9. Click on New and select the employee for which you just created a time off. ### Expected behavior The payslip is created. ### Unexpected behavior An Odoo Error Occurs. ## Origin of the issue In the code, we don't verify that the holiday is present in the employee schedule before computing the name of the payslip: https://github.com/odoo/enterprise/blob/a7e954dbe4a68b1770341e754101319a89e4de9e/hr_payroll/models/hr_payslip_worked_days.py#L87-L92 We simply check if one holiday exists, which is the case as a public holiday is applied to every employee. Therefore, we need one more check. __ opw-5269302