Tuesday, June 2, 2026
4 changes · 17.0
Resolved issues and error corrections
This update resolves a potential error in the Hong Kong payroll calculations. Specifically, it now checks for scenarios where a resource calendar is missing or weekly hours are zero, preventing a division-by-zero error that could have disrupted payroll processing. This ensures accurate and reliable payroll calculations.
Original PR description
. Add a check for a null resource calendar and zero hours per week. task-6229271
This update corrects a setting that automatically generated CFDI invoices for all website sales orders. Previously, customer information provided on the e-commerce platform triggered this automatic CFDI generation, which was unnecessary. Now, invoices are only CFDI to public when explicitly required.
Original PR description
There is no reason why we would always cfdi to public when creating orders from the e-commerce. When the customer give all their info, the invoice should not be cfdi to public. opw-6180766
This update resolves a bug in the appointment scheduling system that caused incorrect interval inversions, particularly with edge cases. The fix ensures accurate interval calculations, improving the reliability of appointment scheduling and preventing potential scheduling errors. New tests have been added to verify this correction.
Original PR description
The [commit](https://github.com/odoo/enterprise/commit/53450065be0c3ec9d648d4fd39ec3a9a912bd06c) introduced the method for inverting the interval inside the given limits. The method was failing for the following edge cases: ```python >>> invert_intervals([(1, 2), (4, 5)], 0, 10) result - [(2, 4), (5, 10)] expected - [(0, 1), (2, 4), (5, 10)]? >>> invert_intervals([(-2, -1)], 0, 10) result - [(0, 10)] expected - same >>> invert_intervals([(11, 12)], 0, 10) result - [] expected - [(0, 10)] >>> invert_intervals([(-1, 1), (2, 5), (8, 12)], 0, 10) result - [(1, 2), (5, 8)] expected - same >>> invert_intervals([(2, 5), (8, 12)], 0, 10) result - [(5, 8)] expected - [(0, 2), (5, 8)] >>> invert_intervals([(2, 5), (11, 12)], 0, 10) result - [] expected - [(0, 2), (5, 10)] ``` This commit fixes the function to correctly handle all the cases. The test cases are also added to test all the edge cases.
This update fixes an issue where the 'Out of Office until...' date displayed in the Discuss chat was incorrect for users in negative timezones. The fix adds a timezone setting to ensure dates are consistently displayed in UTC, resolving the date display problem. This ensures accurate leave information is shown to all employees.
Original PR description
Issue: ---------------------------------------- When in a negative timezone, the "Out of Office until..." text in discuss shows the day before. Steps to reproduce:…
Issue: ---------------------------------------- When in a negative timezone, the "Out of Office until..." text in discuss shows the day before. Steps to reproduce: ---------------------------------------- - Change the timezone of the user to "America/Toronto" for example - Have an employee currently on leave until tomorrow - Open discuss to chat with this employee - The "Out of Office until..." shows today's date Cause: ---------------------------------------- When calling `toLocaleString()` without a timezone specified in the options, the date is converted to local time (in the browser's timezone). Here `persona.out_of_office_date_end` is just a date, `deserializeDateTime()` converts it to a timestamp, so the same day at 0am. Then if the timezone is negative, the timestamp becomes an hour the previous day when calling `toLocaleString()`. The format we give `DateTime.DATE_MED` doesn't include hours, so we just display the previous date. Solution: ---------------------------------------- Add `timeZone:"UTC"` in the options to avoid the timezone conversion. opw-6252040