Thursday, October 2, 2025
22 changes · saas-18.4
Resolved issues and error corrections
The recruitment talent record’s open applications button now shows the same set of related applications as the displayed application count. This prevents users from seeing a mismatch between the number shown and the applications opened, making candidate follow-up more reliable.
Original PR description
`_get_similar_applicants_domain` used in `action_open_applications` did not return the same domain used in `_compute_application_count`. Fixed by complementing the domain within `_get_similar_applicants_domain` used in the action to include applications with the same associated `pool_applicant_id` as the current applicant/talent. Task-5092128
This fix prevents an error from appearing when users edit the refusal email for a job applicant. The unavailable option to save that edited message as a template is hidden in this version, allowing the refusal process to continue smoothly.
Original PR description
Steps to reproduce: - open any applicant in recruitment app - click on refuse button - enable send email toggle key - edit the message - try to save the template Issue: - traceback pop ups and not able to save the template Reason: - The method 'open_template_creation_wizard' is missing, causing the error when trying to save the template. This method was not implemented. Solution: - Remove the 'save the template' feature for this version by adding the context. It require two fields which are not present in the current model, thus avoiding the error. task-4948736
The employee payroll form once again shows the Patrena code field needed for Belgian payroll processing. Related payroll provider codes for UCM and SD Worx were also rearranged so they appear more clearly, two per row, making the form easier to use.
Original PR description
Restored the Patrena code field and arranges the other related codes (UCM & SD Worx) so that they are displayed two per row. task-5052003
Fixes the Belgian payroll working schedule change flow so users are taken back to the employee form with the new version selected after validation. This avoids landing on an outdated version list and makes it easier for HR users to continue their work in the right place.
Original PR description
…dule change The working schedule change wizard was redirecting to a list of version when validating. This was the old behavior with the contract. Instead, redirect to the employee form view with the new version selected. task-5126204
Users can now open Time Off from an employee profile without encountering a Missing Record error. This ensures the Time Off page uses the correct employee context, improving reliability for HR self-service workflows.
Original PR description
**Steps to reproduce (without demo data):** - Install hr_holidays - Go to "My Profile" - Open "Time Off" **Issue:** Accessing Time Off from a user profile triggers a `Missing Record` error. **Cause:** The system was passing the user’s active_id to the employee record incorrectly. **Fix:** Now, when the context's active_model is 'hr.employee', the correct active_id is applied. **Commit issue:**https://github.com/odoo/odoo/pull/225839 Forward-Port-Of: odoo/odoo#229497
This fixes the favorite star in spreadsheet dashboards so it immediately shows the correct selected or unselected state after a tap on mobile devices. The change removes confusing visual feedback and makes the mobile experience consistent with the rest of Odoo.
Original PR description
The star icon on mobile would have a strange behaviour. After clicking it, the star would not change between filler/not filled until clicking elsewhere. It turns out that on mobile, after a click the hover rule is applied. And our hover rule would modify the icon to be the opposite of what it should be. This commit changes the CSS to use the same css as `BooleanFavoriteField` to stay consistent with the rest of Odoo. Task: [5092945](https://www.odoo.com/odoo/2328/tasks/5092945) 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#227663
The Fleet app’s vehicle kanban view now opens the contracts button correctly. This helps users access vehicle contract information from the dashboard without confusion or extra navigation.
Original PR description
Fix contracts button in vehicle kanban Task-5109335 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#228341
This update prevents Spanish tax report setup and automated checks from failing when date information is not yet available. The report logic now handles incomplete data safely while keeping the usual validation in place when dates are provided.
Original PR description
The `_get_mod_period_and_year` method assumed that `options['date']` would always be present with `date_from` and `date_to`. However, during the automatic `TestEveryModel.test_computed_fields_without_dependencies`, this method is called on a `new()` record where no options are provided. This resulted in a `KeyError: 'date'`. We now gracefully handle missing or incomplete `options` by returning `(None, None)` instead of raising an exception. This ensures that tests and new records can be created without errors, while preserving the original validation logic when valid options are given. build_error-231511 Forward-Port-Of: odoo/enterprise#94154
This fix ensures UAE invoice PDFs display correctly when invoice lines have no taxes. It prevents column misalignment, making printed invoices clearer and more professional for customers.
Original PR description
**Steps to reproduce:** 1- Install UAE localization (l10n_ae). 2- Create an invoice without adding any taxes in the invoice lines. 3- Print the invoice → column alignment is broken. **Issue:** In UAE…
**Steps to reproduce:** 1- Install UAE localization (l10n_ae). 2- Create an invoice without adding any taxes in the invoice lines. 3- Print the invoice → column alignment is broken. **Issue:** In UAE localization, the invoice report shows misaligned columns when the tax field is empty. **Cause:** Since Odoo 18.4, the core report logic hides the tax column when no taxes are applied. However, l10n_ae does not handle this scenario properly while replacing columns, which results in broken alignment. **Solution:** Added a condition in l10n_ae to correctly handle the case when the tax field is empty, ensuring column alignment is maintained in the invoice report. **Before Fix:** <img width="777" height="326" alt="image" src="https://github.com/user-attachments/assets/1416c03a-9da5-45fe-8ade-2a9037f70812" /> **After Fix:** <img width="767" height="341" alt="image" src="https://github.com/user-attachments/assets/9d418945-45e2-409e-b00e-b4f8272ea013" /> opw-4965240 I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Fixes an issue where the background color picker closed unexpectedly when previewing colors for table cells. This makes editing table cell colors smoother and avoids interrupting users while formatting content.
Original PR description
Problem: When applying a background color to a `td`, the color picker dismisses unexpectedly. Cause: After c810b0c17b2f882b0ab5d073ba38464bffb0617e, we rely on the class `o_selected_td` to check if…
Problem: When applying a background color to a `td`, the color picker dismisses unexpectedly. Cause: After c810b0c17b2f882b0ab5d073ba38464bffb0617e, we rely on the class `o_selected_td` to check if we are in a selected `td` to keep the toolbar open. However, in another fix (254efd86cd1ce871807fdc25479ebc5beeb4eab3), we removed that class during the color preview operation. Previewing a color on a `td` triggers a selection change, which runs `shouldBeVisible`. Since `o_selected_td` is not found, the toolbar closes along with the color picker. Solution: Update https://github.com/odoo-dev/odoo/commit/254efd86cd1ce871807fdc25479ebc5beeb4eab3. A better fix is to use `o_selected_td_bg_color_preview` which will undo the `box-shadow` when we preview a color. Steps to reproduce: 1. Add a table. 2. Select a cell. 3. Apply a background color. 4. Select the cell again. 5. Hover a color to preview. → The color picker dismisses once a color is hovered. opw-5066309 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#225827
This fix allows users to delete an employee version from the versions list without seeing an incorrect warning that the record no longer exists. It improves reliability for HR teams managing employee history and keeps the employee version workflow from being blocked.
Original PR description
Issue/Current Behavior: It is not possible to delete a version of an employee. Steps to Reproduce: 1. Create an employee. 2. Create a new version of the employee. 3. Click on the smart button of versions and delete a record from the list view. 4. It gives warning that the record doesn't exist or might be deleted. Solution: Fixed the issue by checking that the context version exists or else the empty recordset. task - 5002995 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update prevents subscription invoice sections for combo products from being overwritten with incorrect values. It helps ensure invoices keep the right section information and avoids adding unnecessary section details.
Original PR description
This commit improve fix of PR https://github.com/odoo/enterprise/pull/90989 to avoid overriding right combo section values and avoid setting unnecessary values on the section. opw-5069278 Forward-Port-Of: odoo/enterprise#95831 Forward-Port-Of: odoo/enterprise#94776
This fixes an automated accounting test so the account merge wizard waits for the final action before closing. It helps prevent false test failures and keeps release validation more stable, with no expected change for end users.
Original PR description
The last check of the tour is always true. So it sometimes closes too early. Wait really for the last operation for the last check runbot-error-108440 Forward-Port-Of: odoo/enterprise#95991
This update adjusts internal automated tests so they no longer depend on demo or default user settings being present. It helps keep support, timesheet, payroll, and localization checks stable across environments without changing customer-facing features.
Original PR description
The community counter part makes the tests independent from `env['res.users']._default_groups()`. `helpdesk.group_helpdesk_manager` is the only group that is given to `base.default_user_group` in the master data (is that normal?), so we need to give it explicitly in the tests since we don't rely on the default user groups anymore in tests Forward-Port-Of: odoo/enterprise#92410
This fix makes internal automated tests behave consistently whether or not demo data is installed. It reduces false test failures and helps keep releases stable without changing day-to-day user functionality.
Original PR description
The tests should not be impacted by the demo data however it is currently the case. Indeed, a lot of groups are added to the default group user when installing the demo data. Instead, we only take the user group like it is the case when no demo is installed. Forward-Port-Of: odoo/odoo#223039
Live chat agents who are viewing a conversation without being added as participants can now translate messages when they are internal users. This removes an unnecessary limitation and helps agents understand and support customers more effectively during live chat monitoring.
Original PR description
Before this commit, when an agent that is not member of livechat but is peeking the conversation, the agent could not translate the message. This happens because the translation feature is limited to internal users, but this was determined based on the self member relational field. This works when the agent is a member but when not a member this was arbitrarily disabling the feature. This commit fixes the issue by looking at whether the user is internal or not, based on self persona independently on whether the agent is member or not of the conversation. Task-5111383 Forward-Port-Of: odoo/odoo#229035 Forward-Port-Of: odoo/odoo#228449
Fixes an issue that could cause the website product generator to crash when importing multiple images for a single product variant. This helps teams upload product imagery more reliably without interrupting catalog setup.
Original PR description
Fixed a typo that leads to a crash when importing multiple images for a product variant
Agents who preview WhatsApp conversations without being members can now translate messages when they are internal users. This removes an unnecessary limitation and helps support teams understand customer messages while monitoring conversations.
Original PR description
Before this commit, when an agent that is not member of whatsapp but is peeking the conversation, the agent could not translate the message. This happens because the translation feature is limited to internal users, but this was determined based on the self member relational field. This works when the agent is a member but when not a member this was arbitrarily disabling the feature. This commit fixes the issue by looking at whether the user is internal or not, based on self persona independently on whether the agent is member or not of the conversation. Task-5111383 Forward-Port-Of: odoo/enterprise#95767 Forward-Port-Of: odoo/enterprise#95474
This fixes an issue in the website editor where deleting text in a pricelist snippet could merge the description into the price. Pricelist blocks now stay properly separated, helping website editors avoid accidental layout or content errors.
Original PR description
**[FIX] website: keep pricelist blocks intact** Build the unsplittable selector from the three pricelist snippet base classes so that the HTML editor no longer splits or merges their item, price, or description elements when users delete content with Backspace. Steps to reproduce: - Drag and drop a pricelist snippet (e.g., Pricelist Cafe). - Place the cursor before the first letter of one of the descriptions. - Press Backspace. - Bug: the description content is merged with the price. task-5117864
This fix makes several HTML Builder option controls display more consistently, including font, shadow, visibility, and background image settings. Users should see sharper lines, steadier picker heights, and better-aligned controls when editing pages, reducing visual glitches in the editor.
Original PR description
This PR fixes several options-related issues in the HTML Builder: 1. Improved the vertical sublevel line, which appeared blurry due to the transform property and an incorrect height. You can see the…
This PR fixes several options-related issues in the HTML Builder: 1. Improved the vertical sublevel line, which appeared blurry due to the transform property and an incorrect height. You can see the problem by "zooming out" multiple times. 2. Harmonized the padding of the visibility layout options and the background image position to align with the other pickers. 3. Fixed the height of the font-family picker: when you select a font-family, the height of the picker may change according to your selection (that's the case with Roboto for example - It's more "apparent" in the case of headings when it's next to the delete button as shown in the screenshot.) 4. Fixed the height of the “None” shadow option => these 2 issues where caused by the font metrics. task-4985348 1 & 2 <img width="423" height="500" alt="image (1)" src="https://github.com/user-attachments/assets/a9304b67-607a-424a-94de-dd3dacece84f" /> 3 <img width="1037" height="293" alt="Screenshot 2025-10-02 at 13 14 37" src="https://github.com/user-attachments/assets/d5982d34-2987-49d9-95cf-c78294521995" /> 4 <img width="1542" height="231" alt="image" src="https://github.com/user-attachments/assets/13cbfa8f-dd72-41dc-82f2-c371f6ff2d77" /> --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fixes an issue where clicking an image gallery on website pages could show a "missing template" error. The gallery templates are now loaded from the active version, so visitors can view gallery images normally.
Original PR description
Clicking on an image gallery snippet currently triggers a "missing template" error. This happens because the gallery template is only defined in the 000 version file, while the corresponding view record for that version has been disabled. This commit resolves the issue by moving the gallery templates to the 001 version file, ensuring they are properly loaded. Steps to reproduce: 1. In Website, navigate to /jobs. 2. Create a new job and save it. 3. Click on any image at the end of the job page. 4. Observe the "missing template" error. Forward-Port-Of: odoo/odoo#226333
This fix prevents website-specific payment provider settings from being copied to a newly created unrelated company when that would cause a company mismatch. It helps avoid confusing company consistency errors during multi-company setup while preserving the website link when the new provider belongs to the same company group.
Original PR description
Versions -------- - saas-18.4+ Steps ----- 1. Specify a website for a payment provider; 2. create a new (non-branch) company. Issue ----- > Uh-oh! You’ve got some company inconsistencies here Cause ----- As of commit 0d3228e10d04a, payment providers get automatically duplicated when creating a new company. This leads to company inconsistencies when the provider has a website specified, as the website's company doesn't match copied provider's company. Solution -------- Disable automatic copying of the `website_id` field, and instead, handle it manually in the `copy` override, assigning the `website_id` field iff the new provider belongs to the same company or a branch company. opw-5119731