Wednesday, March 26, 2025
13 changes · 18.0
Resolved issues and error corrections
The survey module's automated performance tests were adjusted to account for a different database query count when Survey is installed by itself. This helps keep internal quality checks reliable without changing the user experience.
Original PR description
Query counter values are higher if only survey app is installed. Based on the SQL query, it looks like with only survey there is extra query to load the default language rb-111093 rb-111094 rb-111095
This fix prevents website editing metadata from being added to the wrong template elements. It keeps snippet-related markers limited to the intended website snippets, reducing the risk of unexpected behavior when editing website pages.
Original PR description
Since [1], the data-snippet tag was added for each t-call which was not the desired behavior. This commit fix this to restrain the addition of the data-snippet tag only for t-snippet-call. [1]: https://github.com/odoo/odoo/commit/6d5c741820cb69f7619e2cf49bce1457b2cd1efd
The website shop’s attribute filter headings now follow the theme’s text color, making them visible when a dark background is used. This improves storefront readability for businesses using customized or dark color themes.
Original PR description
When a user changes the theme colors and applies a dark background the attribute filters will not be apparent Also the color applied to text is not applied to the attributes only if the accordion is active As a fix now the accordion headers will match the updated text color from the theme opw-4559710 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Restaurant point-of-sale sessions now close open popups before automatically returning idle users to the floor plan. This prevents an error when a staff member closes a combo selection popup after the timeout, making table service workflows smoother.
Original PR description
- Fix traceback appearing when after 3 minutes, we're automatically redirected to the floor screen and we had a combo selector popup opened. We were redirected to the floorscreen but the popup was still opened and when closing it it was throwing a traceback. - Now just before redirecting idle user to the floorplan, we first close all opened modal. Steps to reproduce : - Open "Restaurant" - Open an empty table - Click combo product - Wait 180s :d - You'll be automatically redirected to floorplan, the combo selection popup is still opened - When closing it you have a traceback task-id: 4661502 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
The shared project task page now shows the Follow button correctly for portal users with edit access. This prevents important task collaboration controls from being partially hidden, making the page easier to use for external project participants.
Original PR description
Before this commit, when accessing public project sharing page with "edit" access rights, opening a task showed the chatter and "Follow" button above but it was partially cut. This comes from the…
Before this commit, when accessing public project sharing page with "edit" access rights, opening a task showed the chatter and "Follow" button above but it was partially cut. This comes from the following causes: - portal composer has special margin/padding at the top to compensate with website header, so that scrolling on website keeps the composer at the top - portal composers should not autofocus on mount compared to backend views. The portal sharing page was mistakenly not considered a portal composer at some point and was fixed by [1]. However had regression to include the margin/padding top compensation, thus it cut the 'Follow' button. The margin/padding top is not pretty but it works fine for website. Here for project we want to ignore them. This commit fixes the issue by ignoring project sharing for the padding/margin top compensation, using variable `env.projectSharingId`. opw-4509372 [1]: https://github.com/odoo/odoo/pull/189568 Before  After 
The HTML editor now ignores Firefox events that report a text change when the text has not actually changed. This prevents unnecessary dirty-state updates, reducing false prompts or indicators that content was modified.
Original PR description
Description of the issue this PR addresses: Current behavior before PR: Firefox triggered a mutation when setting `textContent` to the same value, causing unnecessary dirty state updates in the editor. Desired behavior after PR is merged: Such mutations are now detected and ignored to prevent false positives. task-4629669 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Users can now remove an existing value from partner lookup fields and have that change recognized by the form. This ensures the save option appears and the cleared value is properly stored, preventing frustrating data entry issues in contact-related forms.
Original PR description
In a form view with a many2one field using the res_partner_many2one widget (e.g. in the "Contacts" form view) where this field is set, remove the value. Before this commit, this didn't trigger a change in the model. As a matter of fact, the "save" button in the control panel (the small cloud) wasn't displayed. As a consequence, such a change couldn't be saved. This commit fixes the issue. OPW-4669817 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
This update corrects Belgian payroll deduction amounts for the 3000 rule through April 2025. It helps ensure payroll calculations remain aligned with the latest required amounts, reducing the risk of incorrect payslips.
This update fixes unstable automated tests around appointment scheduling and Gantt calendar views. It helps prevent false failures in the testing pipeline, making releases and quality checks more dependable without changing user-facing behavior.
Original PR description
This PR fixes non-deterministic issues with a unit test in the appointment module. The issue was coming from the gantt range being separately from the mounting of the view. This could sometimes be a…
This PR fixes non-deterministic issues with a unit test in the appointment module. The issue was coming from the gantt range being separately from the mounting of the view. This could sometimes be a problem, as the second "get_gantt_data" RPC could return *after* the helper responsible for selecting the range called a `runAllTimers` that would drastically increase the current time, and thus affect the RPC payload. The fix here is to include the desired range directly in the view arch, instead of selecting the range manually from the UI. Furthermore, when trying to reproduce the non-deterministic behavior of the test mentioned above by slowing down RPCs, other gantt tests showed constitently failing results due to a poor architecture relying on animation frames instead of waiting for network calls. These tests have been fixed preventively to avoid potential timing issues. Fixes runbot issues: - [159865](https://runbot.odoo.com/odoo/runbot.build.error/159865) - [161300](https://runbot.odoo.com/odoo/runbot.build.error/161300) - [161490](https://runbot.odoo.com/odoo/runbot.build.error/161490) Community: https://github.com/odoo/odoo/pull/203472
A payroll accounting test was adjusted so it works correctly when demo data is not installed. This helps keep payroll accounting updates reliable across different deployment and testing setups.
Original PR description
With the PR [1] added test case which is failing in no demo mode (see [2]). This commit will ensure the test case will completely run witth no demo mode. [1] https://github.com/odoo/enterprise/pull/77334 [2] https://runbot.odoo.com/runbot/build/76189941
The Group S payroll export now checks whether the required company Group S code is configured before generating a file. Instead of a technical crash, users receive a clear message telling them what needs to be set up, reducing support confusion and failed report generation.
Original PR description
Currently, a traceback occurs when the user tries to create a Export to Group S report. To reproduce this issue: 1) Install `l10n_be_hr_payroll_group_s` without demo data 2) Shift to the Belgium…
Currently, a traceback occurs when the user tries to create a Export to Group S report. To reproduce this issue: 1) Install `l10n_be_hr_payroll_group_s` without demo data 2) Shift to the Belgium company 3) Create a running contract from payroll with stating date should be in past 4) Now create a Work Entry from payroll with the From date also be in the past 5) Now create a new `Export to Group S report` report from payroll/reporting 6) Make sure the date and moth are also in the past and click the `Populate` 7) Now click the `Generate Export File` Error:- ``` TypeError: can only concatenate str (not "bool") to str ``` The error is occurring because there is no `group_s_code` value by default in the company. The user has to give the value from the settings. If there is no `group_s_code` in the company, It leads to the above exception when concatenation is done between False and a string. Also, a userError was already raised from the very next life. https://github.com/odoo/enterprise/blob/eb1eff85d2119a34997067fedb602e963a5d6f02/l10n_be_hr_payroll_group_s/models/hr_payroll_export_group_s.py#L41-L43 So by making an extra check of the presence of the `group_s_code` in the company. We can resolve this issue and also make the code more robust. sentry-6289053708
The UrbanPiper POS module can now be installed even after online payments are removed. This prevents a setup error and helps businesses enable the integration without needing extra troubleshooting.
Original PR description
Steps to reproduce: === - Install point_of_sale. - pos_online_payment is auto-installed. - Uninstall pos_online_payment. - Install pos_urban_piper. - Installation fails with an XPath error. Issue: === - XPath targeting is_online_payment is not found when pos_online_payment is uninstalled. Fix: === - Replaced XPath from is_online_payment to split_transactions to ensure proper installation. task-4639074
This update renames an internal password field label used by the Monster recruitment integration to avoid confusion with another password field. It prevents system warnings while leaving the visible settings screen unchanged for users.
Original PR description
The field `res.company.hr_recruitment_monster_password` has the same label `Password` as the field `res.company.l10n_co_edi_password` from module [`l10n_co_edi`](https://github.com/odoo/enterprise/blob/b2fcd4e679fd6e4dedebdc13a5de0c89fbe3ef9a/l10n_co_edi/models/res_company.py#L15), as well as the related field on `res.config.settings` model, which generates warnings. The label on the field can be changed and the [view](https://github.com/odoo/enterprise/blob/b2fcd4e679fd6e4dedebdc13a5de0c89fbe3ef9a/hr_recruitment_integration_monster/views/res_config_settings.xml#L16-L21) where it is used will not be affected since the label is set in the view.