Thursday, October 9, 2025
5 changes · 18.0
Resolved issues and error corrections
The Indian payroll demo leave records were adjusted so they no longer block system upgrades. This prevents upgrade errors caused by demo leave entries that had already been validated, with no impact on real employee leave data.
Original PR description
Issue: - Validation Error: 'This modification is not allowed in the current state.' When trying to update validated leave records during upgrade. Reason: - In Indian leave records, some demo leave entries were in the `validate` state. - During the upgrade, changes in the leave type triggered updates to these records that were already validated. - Trying to update validated records caused constraint errors due to the validation state. Fix: - Removed the leave validation for these demo records as it was not necessary. - The records stay in the `confirm` state during upgrade, preventing validation errors and allowing the upgrade to proceed without impacting demo data. build_error-231279
This fix updates the sales timesheet invoice wizard so its settings are easier for custom tools to read correctly. It reduces the risk of errors for businesses using customizations that process Odoo screens outside the standard browser flow.
Original PR description
Versions -------- - 17.0+ Issue ----- Some customizations may parse XML views using Python, in which case the `date_start_invoice_timesheet` field could return an error, as the `options` attribute uses a Javascript boolean `true`. Solution -------- Use `'true'`, which will get parsed as `true` in JS via `archParseBoolean`. Forward-Port-Of: odoo/odoo#230278
Adds a regression test to help ensure appointments can still be booked when resources use flexible working calendars. This reduces the risk of future changes breaking flexible resource scheduling and protects appointment booking reliability.
Original PR description
Adds regression test to ensure appointments can be booked with resources that have flexible calendars (flexible_hours=True). The test verifies that _check_appointment_is_valid_slot correctly validates slots for flexible resources, which was previously failing due to inverted unavailable intervals being generated in the resource module. This test validates the fix applied in odoo/odoo#229777 Related: odoo/odoo#229777
This fixes an issue where custom hour or half-day options could be unexpectedly cleared when users changed the time off type. Employees and HR teams can now switch between compatible time off types without losing their selected leave duration settings.
Original PR description
- made the value of checkboxes for `request_unit_half` and `request_unit_hours` stay the same when switching between timeoffs that can have hourly type task-id: 5085389 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#228981
This fixes a timing issue that could make an automated barcode workflow test fail unpredictably. The change helps ensure validation waits for the right screen state, improving test reliability without changing business functionality.
Original PR description
Sometime, the test `test_scrap_change_source_location` could fail randomly. The issue happens in last few steps of the tour. What we do is: - We edit a move line lot in the form view; - We save it; -…
Sometime, the test `test_scrap_change_source_location` could fail randomly. The issue happens in last few steps of the tour. What we do is: - We edit a move line lot in the form view; - We save it; - We validate the operation. The validation is done by a barcode scan (`OBTVALI`) but since [1](https://github.com/odoo-dev/enterprise/commit/b3a855a870d1861515abaff8683081a39f95558f), barcodes scanned when the user is somewhere else than in the barcode lines view are skipped. With a little bit of bad luck, the tour scans `OBTVALI` while the save from the form view is not finished yet and thus, the scanned barcode is ignored. To reproduce that, run the test `test_scrap_change_source_location` locally in debug mode and add a throttling (eg.: Fast 4G) before to run the tour. To solve the issue, finetune the `validateBarcodeOperation` default trigger, so the error won't happen in this tour and other similar contexts. Runbot build error: [232331](https://runbot.odoo.com/odoo/runbot.build.error/232331)