Tuesday, July 14, 2026
7 changes · saas-18.4
Resolved issues and error corrections
The leave accrual milestones view now shows time units such as days and years in the user's selected language. This makes accrual plan information clearer for non-English users, such as employees or HR teams working in French.
Original PR description
Issue: ---------------------------------------- The units (day, year, etc.) aren't being translated in the Milestones view. Steps to reproduce: ---------------------------------------- - Switch the language to French - Go on an Accrual plan form view - In the milestones view, the units aren't translated Cause: ---------------------------------------- We input the key value of the selections fields `start_type` and `added_value_type`. These values aren't translated. Solution: ---------------------------------------- We create a dictionary with the same keys as the fields and a translated value as values. In the view, we read the values of the dictionary to get the translated units. opw-6367235
This fixes an internal automated test for Time Off by locking the test date so yearly carry-over rules are calculated consistently. It helps prevent false build failures without changing employee-facing Time Off behavior.
Original PR description
Problem ------------------------ test_department_accrual_allocation was failing due to the allocation being calculated as 26 days instead of 21 in faketime builds set to 2027. This was because the accrual plan was set to accrue 21 days per year and carry over 5 days from the previous year. Since the allocation was created on Jan 1st 2026, all 2027 builds were calculating the allocation to have 5 extra days. Solution ---------------------- Added freeze_time for 2026-03-01 to ensure the date stays the same. runbot-939344 task-6344033 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#274154 Forward-Port-Of: odoo/odoo#272728
This fix helps images in emails render correctly for people using Outlook. It improves the reliability of customer and internal email communications by reducing broken or poorly displayed images.
Original PR description
Backport the changes from `b9370ea6b70ca3020c73a6940d70ff0cf954f69f` into `mail/convert_inline` to ensure Outlook-compatible image rendering. opw-3776054 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#269628 Forward-Port-Of: odoo/odoo#269436
The test setup now matches the expected push notification flow by only registering users who can access the required background service. This helps keep automated checks reliable without changing the product experience for customers.
Original PR description
The service worker required for push notifications is only available to internal users. This commit fixes the test setup by ensuring non-internal users are no longer registered, matching the expected flow. enterprise: https://github.com/odoo/enterprise/pull/119956 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Attendance reports and views now use consistent labels for extra hours. The confusing terms “Difference” and “Balance” are replaced with “Worked Extra Hours” and “Validated Extra Hours,” making it easier for users to understand overtime figures.
Original PR description
The reporting labels "Difference" and "Balance" are confusing because "Difference" tracks system-qualified overtime while "Balance" represents accepted overtime hours. There is also a lack of consistency across views. This commit renames these fields to "Worked Extra Hours" and "Validated Extra Hours" to harmonize the naming everywhere task-6352142 Description of the issue/feature this PR addresses: Confusing and inconsistent naming for extra hours Current behavior before PR: - Reporting uses "Difference" and "Balance". - Views use inconsistent labels. Desired behavior after PR is merged: Labels are consistently named "Worked Extra Hours" and "Validated Extra Hours" everywhere. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#274328 Forward-Port-Of: odoo/odoo#273631
The test setup for push notifications now matches the real business rule: only internal users have devices registered for Odoo Cloud Notifications. This prevents misleading test results and helps keep notification behavior reliable.
Original PR description
Only devices of internal users are registered in order to send them Odoo Cloud Notifications (OCN). However, the test setup registers devices for non-internal users as well. This commit ensures devices are only registered for internal users. community: https://github.com/odoo/odoo/pull/269210
The POS now loads only the Kenya tax classification records that are actually used by products, instead of loading all available records. This reduces unnecessary data loading and can improve POS startup performance without changing day-to-day workflows.
Original PR description
Before `product.unspsc.code` and `l10n_ke_edi_oscu.code` records were loaded without domain, which could lead to loading all records of these models in POS, which is not necessary. This commit adds a domain to the loading of these records, so that only the records that are actually used in the products are loaded in POS. Forward-Port-Of: odoo/enterprise#123902 Forward-Port-Of: odoo/enterprise#123686