Monday, November 17, 2025
20 changes · master
Resolved issues and error corrections
Event registrations that collect a company name now pass that information into the related sales lead. This helps sales teams see the attendee's company without manual follow-up or data entry.
Original PR description
When an event registration includes a question of type Company(company_name), the provided value was not being set on the generated lead. As a result, the lead’s partner_name (company name) remained empty, even though the attendee supplied the information. This PR ensures that the company name from the registration is propagated to the generated lead. Task-5106882
This fix restores the faded visual style for sample data in Odoo screens. It helps users distinguish example content from real business data, especially in views that do not show extra guidance.
Original PR description
The opacity effect was removed from Sample Data in #233205 and caused issue when sample data are present without an ActionHelper. This commit reverts these changes. Forward-Port-Of: odoo/odoo#235742
The Blackbox IoT driver has been brought up to date after an earlier move from enterprise to community missed some recent changes. This helps keep connected IoT device behavior consistent and prevents issues caused by outdated driver code.
Original PR description
In odoo/odoo#221948, we moved drivers from enterprise to community. During development, the bb driver had changed, and we didn't update the moved driver in community. This commit provides the missing changes.
The website header now only shows the language selector when more than one language is available. This prevents empty spacing or borders from appearing on sites that use a single language, improving the visual polish of the header.
Original PR description
This PR calls the language selector placeholder only when multiple languages exist, avoiding an empty header list item that creates an unnecessary border or empty space. task-5150808 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#235549 Forward-Port-Of: odoo/odoo#231256
When journal item lists have no matching records, Odoo now shows an empty result instead of placeholder sample entries. This prevents confusion when users drill down from accounting reports such as Profit & Loss and expect to see real journal items only.
Original PR description
Currently, when going into the "Journal Items" menu, if there's no data to display, some sample data are shown. To reproduce: set a filter that won't match any journal item, set it as default filter and refresh the page. It doesn't make sense to have sample data, as you cannot create journal items on the fly. It is particularly confusing going to an accounting report like "Profit & Loss" and clicking on a "0.00" value. As no journal item is present, the sample data are shown. The fix is to remove the attribute `sample="1"` on the list. no-task Forward-Port-Of: odoo/odoo#234787
The website builder now clearly highlights the currently selected shape for images and backgrounds, making editing more intuitive. The shape picker also has better keyboard behavior and visual feedback, improving usability and accessibility for content editors.
Original PR description
Before this commit, when a shape was applied to a background or an image, that shape was not highlighted in the shape selector. After this commit, active shapes are highlighted with a border in the shape selector. task-5187272 Forward-Port-Of: odoo/odoo#233035
Opening a chat from an employee profile now works correctly when the employee has an associated user. This prevents an error screen and keeps HR communication workflows running smoothly.
Original PR description
Before this commit, when opening a chat with an employee from the form view it would result in a traceback. Steps to reproduce: 1. Open the form view of an employee that has a user associated 2. Click the "chat" icon next to their name -> traceback This happens because the `getChat` method would insert a Persona record in the Store with a displayName field which has been changed to a setter in [1]. This commit fixes the issue by setting the `name` field instead. [1] https://github.com/odoo/odoo/pull/234702 Forward-Port-Of: odoo/odoo#235536 Forward-Port-Of: odoo/odoo#235279
This fixes inconsistent styling on website toolbar dropdown buttons such as Edit and +New. The buttons now keep the intended website appearance instead of accidentally using backend menu styles, improving visual consistency for website editors.
Original PR description
This commit fixes a side effect introduced in Commit[^1]. With Commit[^1], we aimed to improve the design of systray items, mainly in terms of accessibility, by providing a set of styles for the…
This commit fixes a side effect introduced in Commit[^1]. With Commit[^1], we aimed to improve the design of systray items, mainly in terms of accessibility, by providing a set of styles for the different states (`:hover`, `:focus`, ...). | Master | This PR | |--------|--------| | <img width="143" height="47" alt="image" src="https://github.com/user-attachments/assets/0647aeec-5c10-4b1b-8637-3539809c63c9" /> | <img width="133" height="47" alt="image" src="https://github.com/user-attachments/assets/ac6f4aff-47c3-4a58-a927-6f8437827a8e" /> | While we paid attention to the frontend environment when implementing these changes, some cases were overlooked — specifically the `Edit` button, which becomes a `.dropdown-toggle` when the website can be translated. This caused the button to inherit styles defined for the backend, leading to inconsistencies. This commit fixes the issue by excluding the `+New` and `Edit` buttons from these styles, ensuring they correctly inherit the right ones. task-5259182 [^1]: https://github.com/odoo/odoo/commit/c001d7e0b04317a815e29dc4a4aed7f7c95ee550 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The new employee dialog in HR Attendance now displays its dropdown menu correctly without being cut off. This improves usability for staff creating employee records from attendance screens.
Original PR description
This commit fixes the style of the drop-down menu in the new employee dialog in hr attendance by adding `overflow-visible` to the contentClass prop of the Dialog component. task-526548 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Closing a minimized chat window is now handled safely, preventing an error screen in the messaging experience. This improves reliability for users who keep chats minimized while working.
Original PR description
Before this commit, closing a minimized chat window could cause a traceback. This happened because the ChatWindow model was deleted before the related channel could be accessed. This commit fixes the issue by safely guarding the channel. Task-5255534
The expense list view no longer shows an unnecessary duplicate link to attachments. This reduces clutter and makes expense records easier for users to scan without changing the underlying attachment functionality.
Original PR description
remove an unnecessary link to the attachments of expenses in the list view. task-4684825 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#232365
The web interface no longer shows the sample data ribbon through the action helper. This cleans up the user experience and completes a prior change to remove that ribbon behavior consistently across views.
Original PR description
This commit removes fully the use of the sample data ribbon from the action helper. Following #233205.
The Employee payroll template loading action has been corrected so it no longer triggers an error when debug mode is enabled. This makes the payroll setup workflow more reliable for administrators and support teams using debug mode.
Original PR description
**Version:** - master **Steps to reproduce:** - Open the Employee view - Navigate to the Payroll page - Click “Load Template” **Issue:** Loading a payroll template in debug mode triggers a traceback. **Cause:** - Props were not correctly defined, and useState initialized with null instead of a boolean. **Fix:** - Correct props definition. - Initialize useState with false instead of null. Task-5264364
The journal audit report now matches the selected filter for draft entries. This ensures users who enable draft entries can review the expected journal items instead of seeing an empty result.
Original PR description
* In a new journal, create a draft entry * Open the journal audit: Accounting > Review > Journal Audit * Activate the "With draft Entries" option. * The journal should display 1 entry to review * Click on the review button, there is nothing to display We should be consistent in the filters selected is the search view and what is displayed on the report. Forward-Port-Of: odoo/enterprise#99381
Creating an offer from an existing employee's Offers button no longer incorrectly fails because an applicant is missing. The field visibility rules were adjusted so HR teams can generate offers in this scenario without interruption.
Original PR description
-When creating a new offer for an existing employee through the smart button "Offers", an error appears showing that the applicant is missing. -The issue has been fixed by changing the visibility conditions for the fields.
Belgian payroll employee version fields now correctly record change history. This restores expected audit visibility and prevents related automated checks from failing.
Original PR description
The test_hr_version_fields_tracking was failing because the Belgian Dimona fields in hr.version model were missing tracking=True. task-5122440 Forward-Port-Of: odoo/enterprise#99144 Forward-Port-Of: odoo/enterprise#95735
The sample data ribbon setting was removed from shared action helper screens. This prevents an outdated visual marker from appearing in affected views and keeps the interface consistent for users.
Original PR description
This commit fully removes the prop `showRibbon` from the `ActionHelper` component.
This change prevents installation errors when Saudi Payroll and Salary Package modules are loaded in different orders. Employee cost fields are now added from the module that has the correct dependencies, making setup more reliable without changing day-to-day payroll behavior.
Original PR description
Reproduce Issue : loading hr_contract_salary after l10n_sa_hr_payroll causes this error Element '<xpath expr="//separator[@name='employer_costs']">' cannot be located in parent view Issue : in the hr_employee_view of the l10n_sa_hr_payroll , we inject three fields in the seperator "employer_costs" which is defined in hr_contract_salary , because there is no dependecy between the two modules , this causes the error to happen if the l10n_sa_hr_payroll is loaded first. Fix : Create another view to add these fields in the l10n_sa_hr_contract_salary module which depends on both l10n_sa_hr_payroll and hr_contract_salary task - 5258832 related PR : enterprise#98239
This update prevents salary configurator tests from failing when the Belgian localization is not installed. It removes assumptions about Belgium-specific employee fields from the general salary module and keeps those settings handled only in the Belgian flow.
Original PR description
This fix targets an issue introduced by PR [odoo/enterprise#96415]. Steps to reproduce: Install the hr_contract_salary module on its own or with a localization other than BE, then run the test TestEmployeeSalaryConfigurator.test_employee_salary_configurator_flow. You will get the following error: ValueError. Cause: The fields mobile and internet are only defined on hr.employee under the Belgian localization. However, when creating test employees in hr_contract_salary, these fields were being referenced directly. Therefore, when testing without the BE localization, the fields were missing. Solution: Remove the fields from the hr_contract_salary test. Since mobile_invoice and internet_invoice are hidden when the fields are not available, we now set their values manually in the extention of the tour of the BE localization to avoid dependency on BE-specific fields. Related PR: enterprise#96415 Task: 5249282
This update fixes a visual issue in Odoo Studio where sidebar elements could overlap or scroll above other page headers. By aligning the sidebar layering with the header, the Studio interface behaves more consistently and is easier to use.
Original PR description
With Commit[^1], the `.o_web_studio_component` `z-index` was set to `$zindex-modal (1055)`. While a high value is probably needed, this introduced an issue related to the `z-index` value of `.o_notebook_headers`, which is arbitrary and lower than that of `.o_web_studio_component`, causing the elements to scroll above it. With this commit, we decrease the `z-index` value and align it with the header one, ensuring a clearer relationship between these two elements. task-5241146 <img width="571" height="507" alt="image" src="https://github.com/user-attachments/assets/483b6ce6-8edd-47ff-aa45-39829758d44b" /> [^1]: https://github.com/odoo/enterprise/commit/8489b760dd601d2a5196c8323eb0e1929c0f2132