Wednesday, September 3, 2025
18 changes · master
Resolved issues and error corrections
This fix prevents the web interface from reacting to temporary hotkey overlay changes as if the page navigation changed. It helps avoid unexpected cursor or focus jumps, making keyboard help and navigation feel more stable for users.
Original PR description
This commit fixes an issue where the update of the navigation_hook would trigger for any dom modification (including hotkey overlay) which could cause unwanted re-focus on some elements. task-4965265 authored-by: Bastine(bafa) <bafa@odoo.com>
Saving the document layout no longer fails when a company has a trusted bank account that was not changed. This prevents unnecessary errors while keeping protections in place for actual bank account edits.
Original PR description
Description of the issue/feature this PR addresses: The document layout wizard (base.document.layout) attempts to write the partner’s bank account number even if it has not been changed. If the first…
Description of the issue/feature this PR addresses: The document layout wizard (base.document.layout) attempts to write the partner’s bank account number even if it has not been changed. If the first bank account is marked as trusted, Odoo blocks the write and raises an error. This PR prevents that error by only writing the account number when it has actually changed. Current behavior before PR: - The wizard shows the account_number field. - On saving, _inverse_account_number always writes to the first partner bank account. - Trusted bank accounts trigger an error: “You cannot change the account number or partner of a trusted bank account.” Desired behavior after PR is merged: - The wizard still shows the account_number field. - On saving, _inverse_account_number only writes if the value changed. - Trusted bank accounts that are not modified do not cause an error. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#224905
The Current Stock button on a stock location now opens a list filtered to that specific location instead of showing all products across all locations. This helps warehouse users quickly see the relevant inventory and avoid confusion from unrelated stock records.
Original PR description
From this [commit](https://github.com/odoo/odoo/commit/81acb532a45cf7ab2837634e4d347b216c95f07a), clicking the "Current Stock" button on a location form opened the stock quant list without filtering…
From this [commit](https://github.com/odoo/odoo/commit/81acb532a45cf7ab2837634e4d347b216c95f07a), clicking the "Current Stock" button on a location form opened the stock quant list without filtering by the selected location, showing all products. After this commit, the context `search_default_location_id` is added so that the stock quant list is properly filtered by the active location. **Before fix** <img width="1919" height="951" alt="2025-09-01_12-15" src="https://github.com/user-attachments/assets/93a6034b-0d07-4668-b67d-a84df2285a48" /> **After fix** <img width="1913" height="862" alt="2025-09-01_12-20" src="https://github.com/user-attachments/assets/03eb5b48-0799-4a73-a826-b3c9971b4a85" /> opw-5033643 upg-3117055 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#224923
This fixes an error that could occur when a settings page header did not include a label. Settings pages can now load correctly even when the header label is intentionally left blank, improving reliability for users and administrators.
Original PR description
Before this commit, an error would occur if a header setting did not contain an attribute string or field. This was because the code tried to infer the label. However, the label should be optional. 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#225119 Forward-Port-Of: odoo/odoo#225080
The point-of-sale tax control button now appears only when relevant settings are enabled, preventing unnecessary options from showing to cashiers. The tax selection popup also has a clearer title, making the checkout flow easier to understand.
Original PR description
Before this commit: =================== - When only point_of_sale is installed, the tax control button is visible only if `Flexible Tax` is enabled. But with pos_restaurant installed, the button is always visible, even if Flexible Tax is disabled. - Also, the tax selection dialog had an incorrect title: `Please register the voucher number`. After this commit: ================== - In point of sale, the tax control button will be visible if `Flexible Tax` is enabled, and in restaurant mode, the button will be visible if the `Flexible Tax` or `Takeout/Delivery` is enabled. - The tax selection dialog title has been updated to: `Choose the tax you want to apply`. Task: 4937977 Forward-Port-Of: odoo/odoo#224957 Forward-Port-Of: odoo/odoo#218815
Fixes an issue in the website editor where removing or undoing a popup could leave the page unable to scroll. This helps editors continue working normally on longer pages without needing to reload or restart editing.
Original PR description
Following the [html_builder refactoring], commits [1] and [2] removed the functionality that was responsible for toggling the popup's visiblity when we remove it or undo its creation. Steps to see the issue: - Have enough content on the page to be able to scroll it - Start editing and drop the popup - Undo => We can't scroll. The same happens if we just remove the popup. Related to task-4367641 [html_builder refactoring]: https://github.com/odoo/odoo/commit/9fe45e2b7ddb [1]: https://github.com/odoo/odoo/commit/a3722219038fff [2]: https://github.com/odoo/odoo/commit/06101974532157c521155a7fbb2179aa85b060db Forward-Port-Of: odoo/odoo#222996
Refreshing a completed live survey session now works even if a survey question was deleted in another tab. This prevents users from seeing an error page and keeps the survey completion experience stable.
Original PR description
Currently, an error occurs when refreshing a live session's `Thank You` page after deleting a survey question. **Steps to reproduce:** - Install the `survey` module. - Create a `new survey`, `add a…
Currently, an error occurs when refreshing a live session's `Thank You` page after deleting a survey question. **Steps to reproduce:** - Install the `survey` module. - Create a `new survey`, `add a question` and click on `Create Live Session`. - Complete the survey and leave it on the `Thank You` page. - Switch back to the `first tab`, delete the question and `save` the survey. - Return to the `Thank You` tab and `refresh` the page. **Error:** `IndexError: list index out of range` **Root Cause:** At [1], the controller assumes the question exists and tries to access `index [0]`, but when the question has been deleted, the recordset is empty, causing an `error`. [1] https://github.com/odoo/odoo/blob/ffd9c0f96bda1bad1ad2059d9be2fae54b60eace/addons/survey/controllers/survey_session_manage.py#L236 This commit prevents a crash when refreshing a live session if the question was deleted. sentry-6736648824 Forward-Port-Of: odoo/odoo#225242 Forward-Port-Of: odoo/odoo#218312
This fix ensures order dates sent during POS online payments use the expected universal time format. It helps prevent payment or order records from showing the wrong time due to local timezone conversion.
Original PR description
In 2a5f1ab, we formatted the `order_date` with `toFormat(...)`, however, that transforms the date into local, while the backend expects it to be in UTC. In this commit, we set the date tz back to UTC before formatting it. opw-4942697 Forward-Port-Of: odoo/odoo#225041 Forward-Port-Of: odoo/odoo#224085
Guest users who join a chat channel through an invitation link will no longer be placed into a call automatically unless the channel is meant to be a fullscreen meeting. This prevents accidental call starts and makes the guest joining experience more predictable.
Original PR description
Before this commit, when joining a channel as a guest via invitation link, the guest would automatically start a call after closing the welcome page. This commit fixes the issue by checking that we are joining a fullscreen (meeting) channel before automatically joining the call. Introduced by: https://github.com/odoo/odoo/pull/223356 task-5042923
Updates Spanish (Latin America) descriptions for selected Argentine IIBB sales perceptions so the full jurisdiction names are shown. This improves clarity and consistency when businesses review or configure these taxes in Accounting.
Original PR description
**Description of the issue/feature this PR addresses**: It is needed to ensure that the descriptions for the IIBB perceptions are consistent and correctly reflect the complete name of the…
**Description of the issue/feature this PR addresses**: It is needed to ensure that the descriptions for the IIBB perceptions are consistent and correctly reflect the complete name of the jurisdictions they apply to. **Steps to reproduce**: 1) Go to runbot odoo 18 instance, install l10n_ar module, take position on Argentinean company and activate "Spanish (Latin America)" language. 2) Go to "Accounting / Configuration / Accounting / Taxes", filter by "Sales" Tax Type (type_tax_use) and see that Perc IIBB San Juan, Perc IIBB San Luis and Perc IIBB Santa Fe don`t have the complete description. It is needed to show the complete description. <img width="1825" height="307" alt="image" src="https://github.com/user-attachments/assets/f664e5ec-a4b5-4a8f-bbab-9ba3d824bd2b" /> **Current behavior before PR**: Perc IIBB San Juan, Perc IIBB San Luis and Perc IIBB Santa Fe taxes don`t have the complete description. **Desired behavior after PR is merged**: Perc IIBB San Juan, Perc IIBB San Luis and Perc IIBB Santa Fe taxes have the complete description. <img width="1828" height="425" alt="image" src="https://github.com/user-attachments/assets/dc8ee6dd-23c3-40c1-a973-943971e3cb78" /> **Task Adhoc side**: 53028 **Task latam side**: 1356 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#222343 Forward-Port-Of: odoo/odoo#221742
Images in website grid layouts now properly follow rounded corners and borders set in the Website Builder. This prevents images from spilling outside their boxes, making Masonry-style layouts look cleaner and more consistent for visitors.
Original PR description
When a border radius and/or width is applied to an image grid item (e.g. in "Masonry"), the image overflows its parent box. This happens because the style was only applied to the column, not the image itself. This commit adds necessary style to the image to take into account the border radius and width of the parent box. Steps to reproduce: 1. In Website Builder, add the "Masonry" snippet. 2. Select a block with an image (i.e. the block with the largest image) and apply a border radius. 3. Notice that the image does not respect the border radius. Related to task-3358501 Forward-Port-Of: odoo/odoo#224079
French payroll settings now include the missing country information needed by the configuration screen. This prevents upgrade validation errors and helps ensure the payroll module updates reliably.
Original PR description
The payroll settings view referenced `country_code` in its invisibility condition, but the field was missing from `res.config.settings`. This caused a validation error and access rights inconsistency during module upgrade. A related field `country_code` has been added, pointing to `company_id.country_id.code`. build_error-231428
The update clarifies the wording shown for stock accounting settings, helping users better understand what each option does. This reduces confusion when configuring inventory and manufacturing accounting behavior.
This fixes a configuration issue in Lithuanian payroll settings so Lithuania-specific options are shown or hidden correctly. It helps prevent confusing settings from appearing in the wrong country context and supports a cleaner setup experience.
Original PR description
Add a related field in res.config.settings to expose country_code , Then the view condition invisible="country_code != 'LT'" will work. build_error-231410
The website generator now reliably stops its background status checks when users leave or the screen is closed early. This prevents unnecessary repeated server calls and avoids crashes that could interrupt the website creation experience.
Original PR description
In a component lifecycle, it may happen that onWillStart is called but not onWillUnmount. Indeed, if the component is destroyed before being mounted (because the current rendering has been cancelled), onWillUnmount isn't called. As a consequence, in the WebsiteGenerator component, the setInverval might never been called, thus producing an orm call every 10 seconds, when the component is destroyed. These calls lead to crashes ("Component is destroyed").
The solution is to use the onWillDestroy hook instead, which is always called.
Forward-Port-Of: odoo/enterprise#93679Fixes issues in the salary offer form so users see cleaner messages and the correct contract template name when saving. This reduces confusion during salary offer preparation and review.
Original PR description
This commit contains few fixes for the salary offers form view: - Filter duplicate info messages - Avoid showing wrong name for contract template on save task-5030712
The employee form warning shown when a wage is below the Belgian minimum wage can no longer be edited. This prevents confusion and reduces the risk of accidental changes while still clearly alerting users to the issue.
Original PR description
When an employee’s wage falls below the minimum, the warning displayed on the employee form appeared with editable fields. This was misleading and could allow accidental changes. task-5051879 Forward-Port-Of: odoo/enterprise#93533
The website generator now again lets users choose a custom footer template, restoring an option that disappeared after the website builder refactor. This helps businesses keep their preferred website branding and layout when generating or editing website footers.
Original PR description
With the initial [website builder refactor], the possibility to select the custom footer template has been lost. This commit adds it again with a resource. Instead of modifying the view with the list of templates when one is created, it queries the server to know whether there is one [website builder refactor]: 9fe45e2b7ddbbfd0445ffe25a859e67a316d02b2 task-4367641