Friday, November 21, 2025
6 changes · saas-18.3
Resolved issues and error corrections
This update keeps Odoo compatible with the latest code quality checking tools used in development. It also adjusts a few test and script files so they no longer trigger false warnings, helping maintain smoother automated checks without changing business functionality.
Original PR description
- astroid 4 deprecates toplevel exports of nodes, thankfully that was never actually necessary so we can just import that unconditionally - remove support for pre-jammy pylint / astroid, specifically `astroid.nodes` was added in astroid 2.7.0 and `astroid.node_classes` deprecated then and removed in 3.0, this can affect Bullseye users as it shipped with astroid 2.5 - Astroid 4 changes `spec.Finder.find_module` in order to cache it (pylint-dev/astroid#2509), we can just make our method static for all versions as we don't need `self` anyway. - The mail test triggers `function-redefined` (E0102), fix it. - Skip the escpos script thing which triggers a bunch of `undefined-variable` (E0602) false positives. Forward-Port-Of: odoo/odoo#236530 Forward-Port-Of: odoo/odoo#236258
This update cleans up duplicated methods in a few business modules. It does not change the expected user experience, but it helps keep the codebase more reliable and easier to maintain going forward.
Original PR description
found by pylint 4 Forward-Port-Of: odoo/enterprise#99927 Forward-Port-Of: odoo/enterprise#99809
This update corrects a display issue in the Documents app where some controls could overlap, making the file details area harder to read and use. It also hides an action in the activity view that was no longer functioning, improving overall usability and reducing confusion for users.
Original PR description
This PR addresses the following UI issues in the documents app: - Fix the overlapping of the translate button of name with the file size in `DocumentsDetailsPanel`. - Hide the `DocumentsAction` in activity view as they were not working anymore. Technical ============================ - Set position: relative on .o_field_input_buttons. The .o_field_input_buttons had position: absolute by default, but since .o_documents_details_panel_name uses display: contents, the ancestor context for absolute positioning is lost. Because display: contents makes the parent disappear visually and the children behave as independent elements, the absolute positioning behaves unexpectedly. Setting position: relative on .o_field_input_buttons resolves this by providing a proper positioning context. Task-4792112
This change fixes an issue in the point of sale localization tests that could cause automated checks to fail during builds. It helps keep localization-specific POS features validated reliably, reducing unnecessary runbot failures.
Original PR description
Fix runbot issue runbot-233183 Forward-Port-Of: odoo/enterprise#99832 Forward-Port-Of: odoo/enterprise#99370
This update removes a fragile step from the generic Point of Sale localization test where the PoS was being closed at the end. That closing step was often unstable and slow in larger setups, so removing it makes the test run more reliably and finish faster.
Original PR description
backport of : https://github.com/odoo/odoo/pull/231884 Remove the closing of the PoS in the tour as it is really unstable and fail a lot. It's mostly due to the fact that the PoS take a long time to close with a lost of modules installed. This will also make the tour faster. runbot-233183 Forward-Port-Of: odoo/odoo#236372 Forward-Port-Of: odoo/odoo#234310
This update corrects how the mail module simulates browser platforms in its tests. It ensures the test setup uses the expected platform value, which helps keep automated checks accurate and reliable.
Original PR description
The `mockUserAgent()` is meant to be used with a "platform" ("mac",
"windows", "android"...) as parameter and not a whole user agent string.
In specific cases, a custom string can be used instead, but only to be
added to the user agent string.
This commit adapts its usage(s) accordingly.
Forward-Port-Of: odoo/odoo#236837