Thursday, February 5, 2026
37 changes · master
Resolved issues and error corrections
The point of sale customer display popup now closes once the customer display window opens successfully. This removes an unnecessary extra step for cashiers and keeps the POS workflow cleaner.
Original PR description
When opening the customer display in POS, the popup would open a new window with the display and show a notification that the window is opened successfully, but the popup would remain active. This PR is to make the popup close when the customer display is opened. Task-[5867558](https://www.odoo.com/odoo/project/1737/tasks/5867558) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The website events page now correctly applies the Card Design display option again. This restores an intended visual layout choice for event listings, helping website managers present events in the selected card format.
Original PR description
This commit restores the "Card design" option that was broken after the merge of this commit [*]. `opt_events_list_cards` was previously declared in `index` template, but it is only used inside `events_list`. This commit moves the variable declaration directly into `events_list`, making the card layout apply correctly and simplifying the parent template. *: https://github.com/odoo/odoo/commit/bba2fc505f5d0b4770eacc6877155b1aeda6d772 task-5886440 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Fixes an issue where removing a decorative shape from an image on a website page could trigger an error. The editor now identifies the original image correctly, making the image-shape editing flow more reliable for website builders.
Original PR description
When removing a shape from an image within the `s_shape_image` snippet, a traceback occurred because the `originalSrc` dataset property was missing. The issue was introduced in [1], where the regex in `loadImageInfo` failed to correctly parse URLs with the format: `html_editor/image_shape/<id>/<shape_path>`. Instead of generating the base image path (`web/image/<id>`), the regex incorrectly included the shape path, resulting in an invalid URL being set to the controller. This commit updates the logic to ensure that the correct URl is sent. Steps to reproduce: 1. Drop an 'Image Shape' (`s_shape_image`) snippet onto a page. 2. Select the image and click the option to remove the shape. 3. Observe the traceback. [1]: https://github.com/odoo/odoo/commit/43464576bb772c70910b960bb370148fe73687b9 Task: [5499122](https://www.odoo.com/odoo/project/974/tasks/5499122)
Automated tests now skip unnecessary device logging by default when test sessions are created. This reduces extra database activity during testing, helping test runs stay focused and efficient without changing normal product behavior.
Original PR description
In tests, when using `authenticate`, we create a session. When this session is retrieved (for example because we use `url_open`), we detect a new device and insert a log. The consequence is that a query is performed in many tests and that is not necessary. The fix consists of disabling the `res.device.log` feature by default in tests. task-5894825 Forward-Port-Of: odoo/odoo#246445
This fixes an issue where a website block's color filter could disappear from a video background after the block was selected and the page was saved again. Website editors can now keep their intended visual styling without having to reapply the filter.
Original PR description
The color filter applied to a video background would disappear after selecting the block and saving the page again. Steps to reproduce: =================== 1. Enter Edit mode on the website. 2. Drag…
The color filter applied to a video background would disappear after selecting the block and saving the page again. Steps to reproduce: =================== 1. Enter Edit mode on the website. 2. Drag and drop a snippet (e.g., "Intro"). 3. Set a video background for the block and apply a color filter. 4. Save the page. 5. Enter Edit mode again, click the block to select it, and Save. -> The color filter is removed from the video background. Cause: ====== Selecting the block triggers the `toggleBgImageClasses()` function. This function attempts to determine the background configuration. Since a video background is used, there is no standard image URL, so the code proceeds to call `setImageBackground` with an empty URL ([1]). This update process involves re-applying the color filter via the `selectFilterColor` action. However, the current background image style (the filter color) was not being passed to this function during this specific update flow. Consequently, the function assumed no filter existed and removed it ([2]). Solution: ========= Retrieve the current `filterColor` (which exists in background-image style) and pass it explicitly when calling the apply function. [1]: https://github.com/odoo/odoo/blob/fa482e36bc36809e55b6a11ebcc5bb130f20fd31/addons/html_builder/static/src/plugins/background_option/background_image_option.js#L18-L20 [2]: https://github.com/odoo/odoo/blob/fa482e36bc36809e55b6a11ebcc5bb130f20fd31/addons/html_builder/static/src/plugins/background_option/background_image_option_plugin.js#L170 opw-5448696 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#242236
Video thumbnails in Mail link previews now fill their preview area consistently. This removes unwanted blank space around YouTube previews, giving users a cleaner and more uniform experience when sharing video links.
Original PR description
**Purpose of this PR:** Before this commit, video thumbnails from youtube left blank spaces in the container, creating inconsistent layouts across different video links. After this commit, thumbnails consistently fill the entire container, ensuring uniform appearance for all video link previews. **Before/After:** <img width="533" height="407" alt="image" src="https://github.com/user-attachments/assets/ce2ba872-27b7-4be5-9d85-fbbe6f272e14" /> <img width="481" height="386" alt="image" src="https://github.com/user-attachments/assets/523f5d16-2983-49c1-9dcc-01adb4284e56" /> task-5424534 Forward-Port-Of: odoo/odoo#246971 Forward-Port-Of: odoo/odoo#244176
This fix removes a small delayed preview behavior in the website editor that could interfere when users start typing. It helps prevent the first typed character from being lost while hovering over preview options, making website editing smoother and more reliable.
Original PR description
With commit aa3a2a694930d077aab5ff55e72655cc453a64ff, the delay of one animation frame in the preview of `templatePreviewableWebsiteConfig` is not necessary anymore. This was the only preview with a delay that can be triggered by hovering a button (the others needs to open a dropdown or input in text field). With commit be032732d1f5d1f7b28da3fa7bf19bffbef4a46d, previews are reverted as soon as the user starts typing, to avoid loosing the typed text when the preview is reverted. But this does not handle completely previews that are async: they may revert just after the first character is typed, and thus loose that character. This commit eliminates async preview that can be triggered while keeping focus in the editor. task-5493193 Forward-Port-Of: odoo/odoo#243727
Calendar event descriptions now wrap properly inside popovers, preventing long text from overflowing or being cut off. This makes event details easier to read and improves the visual quality of the calendar interface.
Original PR description
Changes done: - [x] `calendar`: Add `class="text-wrap"` in the description field of the calendar view to use it in the popover - [x] `web`: Define the appropriate class in the calendar popover field **Before** <img width="548" height="428" alt="antes" src="https://github.com/user-attachments/assets/77060ee6-30a1-47ed-8ba4-d5c2baa33fe3" /> **After** <img width="559" height="627" alt="despues" src="https://github.com/user-attachments/assets/cc9dfb47-3f98-4b5b-80c2-c3e5c15df0b0" /> @Tecnativa TT60670 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#247111 Forward-Port-Of: odoo/odoo#246924
This update fixes several issues in Odoo's internal Hoot testing system, making automated tests more accurate and less likely to pass when hidden errors occur. It also improves simulated network requests and validation checks, helping developers catch problems earlier before they affect users.
Original PR description
### [FIX] Hoot fixes This PR contains several fixes for the Hoot system. See each commit description for more details. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#246805 Forward-Port-Of: odoo/odoo#244726
This fixes inconsistent customer pricelist handling when the default pricelist already applies, including customers outside configured regions or without a country. It prevents Odoo from incorrectly marking the default pricelist as if it had been manually assigned, keeping customer pricing data cleaner and more predictable.
Original PR description
Versions -------- - 18.0+ Steps ----- 1. Have a way to check the `specific_property_product_pricelist` field; 2. create a pricelist for EU countries; 3. delete all other regional pricelists; 4.…
Versions -------- - 18.0+ Steps ----- 1. Have a way to check the `specific_property_product_pricelist` field; 2. create a pricelist for EU countries; 3. delete all other regional pricelists; 4. create a new partner in a EU country; 5. create a new partner outside a EU country; 6. create a new partner without a country. Issue ----- Inconsistent behavior: - EU partner has no `specific_property_product_pricelist` value set, as it's identical to the default `property_product_pricelist`. - The other partners do have a `specific_property_product_pricelist` value set to the default value, as if a user manually assigned them. Cause ----- In the `_inverse_product_pricelist` method, the `default_for_country` pricelist is an empty recordset if the partner has no `country_id` or none of the pricelists have a country groups with the partner's `country_id` in it. Solution -------- Introduce a `_get_country_pricelist_multi` method that can be used by `_get_partner_pricelist_multi` and `_inverse_product_pricelist` to ensure that they both return the same result for any given country (including none), and use this as the `default_for_country`. > [!Note] > An alternative approach could be to replace the `_inverse_product_pricelist` method with an `onchange` method, as the docstring of the `_get_partner_pricelist_multi` method states: >> First, the pricelist of the specific property (res_id set), this one is created when saving a pricelist on the partner form view. > > This suggests a behavior that more closely resembles the purpose of an `onchange` method, instead of an `inverse`. opw-5385213 Enterprise PR: https://github.com/odoo/enterprise/pull/103116 (only modifies a test) Forward-Port-Of: odoo/odoo#245843 Forward-Port-Of: odoo/odoo#241736
This fixes an intermittent issue where portal chatter could load at the wrong moment and interfere with website slide text selection tests. The change makes the chatter startup process more stable and updates the related readiness check, reducing noisy warnings and improving reliability.
Original PR description
### Before commit Tour `test_fullscreen_slide_text_highlights` sometimes shows the following warning: ``` should not have any "characterData", "remove" or "add" mutations in current step when you update the selection ``` ### Cause `PortalChatterService` adds an element in the DOM while the selection is updated in the `selectText` tour step. ### Fix Replace the `boot_service` of the chatter by an Interaction inside which the `#chatterRoot` element is created to leverage the protection that the Interaction mechanism provides against this kind of issue. Replace the deprecated Deferred `portalChatterReady` by a `Promise.withResolvers` and fix the `portal_chatter_bundle` tour to properly wait for it to resolve. runbot-229803
Payment methods linked to archived journals are now hidden when choosing payment preferences on a contact. This helps prevent users from accidentally selecting outdated payment options while preserving the journal setup in case it is reactivated later.
Original PR description
**Description of the issue/feature this PR addresses:** When selecting a payment method line on a contact, lines related to journals still appear even if the journal has been archived. This can lead…
**Description of the issue/feature this PR addresses:**
When selecting a payment method line on a contact, lines related to journals still appear even if the journal has been archived. This can lead to the accidental use of payment method lines that should no longer be available. There should be no need to delete payment method lines when archiving a journal; doing so causes a loss of configuration if the journal is reactivated later, and leads to data duplication when having to recreate them.
**Current behavior before PR:**
When selecting a payment method line on a contact, lines from archived journals are still visible. Currently, payment method lines must be manually deleted from archived journals to prevent them from appearing in the selection list.
Payment Method Line domain doesn't include `('journal_id.active', '=', True)` domain part.
**Desired behavior after PR is merged:**
Archiving a journal is now sufficient to stop its payment method lines from appearing as selectable options on contacts.
https://www.loom.com/share/05981419c7dd4584b67d27d84e27892a
OPW-5413309 MT-13011 @moduon @rafaelbn @EmilioPascual @Gelojr @yajo please review if you want 😄
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#245947
Forward-Port-Of: odoo/odoo#240369This fixes an internal issue where automated website learning tests could finish before the discussion area was ready. The change helps keep validation stable and reduces false warnings during testing, with no expected impact on end users.
Original PR description
### Before commit Some tours did not wait for the portal chatter to load when needed: - `portal_chatter_bundle`: the `run` function creates a promise but the tour finishes before it resolves. - `fullscreen_slide_text_highlights`: `PortalChatterService` adds an element in the DOM while the selection is updated in the `selectText` tour step. This caused the following warning to show: ``` should not have any "characterData", "remove" or "add" mutations in current step when you update the selection ``` ### Fix Properly wait for `portalChatterReady` to resolve before proceeding with the rest of the tour steps. (Also fixed the typo in the filename `slide_portal_chatter_bundle.js`) runbot-229803 Forward-Port-Of: odoo/odoo#247203
This fix ensures Odoo's logging records the current server process identifier consistently. It helps administrators and support teams trace events more reliably when reviewing system logs, especially in environments with multiple processes.
Original PR description
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 image transformation button now uses its previous icon again, making the editor interface consistent with what users were used to. This is a small visual correction that helps avoid confusion when editing images.
Original PR description
In commit [1], image transformation icon was changed from `fa-object-ungroup` to `fa-repeat`. This commit reverts that change and restores the original `fa-object-ungroup` icon. [1]: https://github.com/odoo/odoo/commit/633267efef54bc6f88d2d6b5517e2dd56ec135f0 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The website editor now shows the correct label when selecting the image area in the form cover snippet. This avoids confusion for website editors by displaying "Column" instead of the misleading "Image" title.
Original PR description
Steps to reproduce: 1. Go to the website and enter edit mode. 2. Drop `s_website_form_cover` snippet. 3. Click on the image on the left side. Issue: The option container displays “**Image**” as the title instead of “**Column**”. Reason: The `s_website_form_cover.xml` file contains a `data-name` attribute set to "**Image**". Fix: The `data-name` attribute has been removed from the snippet. As a result, the option container now correctly uses “**Column**” as the default title. Before: <img width="1578" height="683" alt="image" src="https://github.com/user-attachments/assets/38cd8126-2c59-46fe-acb3-f9dd710c370b" /> After: <img width="1920" height="861" alt="image" src="https://github.com/user-attachments/assets/414cd4b8-9e7f-4b8f-a62f-b2c89fffe878" /> task-5441732
Odoo’s automated guided workflows now better avoid clicking items hidden behind popups, modals, notifications, or similar overlays. This reduces false failures in automated tests and helps keep business processes validated more reliably across accounting, HR, mail, and point-of-sale areas.
Original PR description
Before this commit, the automatic tour engine checked whether the DOM contained a `.modal` and whether the trigger element was inside it, in order to avoid interacting with elements behind a modal. However, when the DOM also contained a popover or a notification, this check was skipped. With this commit, this logic has been improved to also take other overlay items into account. This improvement involves some fixes and adaptations in a few tours.
This fixes file import handling so uploaded file data follows the same storage format as other file fields. It prevents import failures or inconsistent behavior after recent changes to how binary data is cached.
Original PR description
Since #238513, all Binary fields work the same way. The data is stored in base64 format in cache (no exceptions). Here aligning `file` field of that module did not work this way. Current behavior before PR: `file = fields.Binary(...)` expected to store raw bytes. Desired behavior after PR is merged: This is not supported as all Binary fields work the same now (base64). --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The table editor now hides the Clear content option when a selected row or column is already empty, avoiding actions that would have no visible effect. This makes the editing menu clearer for users and includes a small simplification to how table sizing is checked behind the scenes.
Original PR description
### Purpose of this PR: - The table menu was showing the `Clear content` option even when the selected row or column contained only empty cells. Since clearing in this case does not change the table content, the option is now hidden for both row and column menus when there is nothing to clear. - `this.props.target` is always a `td/th` element. For row actions,the custom size can be detected directly on the parent `tr`, & for column actions width can be checked on the cell itself. This removes need for `closest()` calls and simplifies the size detection logic. task-5454945 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The blog page now shows the correct cover image for the next article instead of repeating the current article's image. This improves the browsing experience and avoids confusing visitors when navigating between blog posts.
Original PR description
**Issue:** The next post's cover image incorrectly displays the current post's cover image instead of its own cover image. **Steps to reproduce:** 1. Go to Website -> Create two blog posts. 2. In…
**Issue:** The next post's cover image incorrectly displays the current post's cover image instead of its own cover image. **Steps to reproduce:** 1. Go to Website -> Create two blog posts. 2. In both blog posts have different cover images 3. Open one of the blog posts. 4. Scroll down to the Next Article section. 5. Observe that the Next Article displays the same cover image as the currently opened post. **Cause:** After this [commit] template values are now passed as props instead of using `t-set`. However, the `record_cover` template for the next post was not updated and still used `t-set` inside the `t-call`. This caused `_record` to be incorrect, making the template fall back to the previous record's data, incorrectly displaying the current post's cover image instead of the next post's. **Solution:** Pass `_record` as a proper prop to the `t-call` for the `record_cover` template when rendering the next post, ensuring the correct record data is available in the template context. [commit]: https://github.com/odoo/odoo/commit/f926cfae515cee46aa70a9ac34c4bcd368d838c6 task-[5909203](https://www.odoo.com/odoo/project/974/tasks/5909203)
This fixes an internal labeling mistake in a URL handling helper so the software correctly recognizes that the helper returns a yes/no result. The change helps keep developer checks accurate and reduces the chance of confusion in future maintenance, with no expected impact on day-to-day users.
Original PR description
_contains_dot_segments returns a boolean, not str opw-wama-raleur-du-typing
The API documentation generator now correctly displays complete parameter types for lists and other container values, such as showing list[int] instead of only list. This makes generated documentation clearer and more accurate for teams using or reviewing Odoo APIs.
Original PR description
In python 3.10; When the type of a method parameter is a container (eg: `list[T]`), `stringify_signature` was not getting the full type but only the origin of it (eg: `list` instead of `list[int]`). This commit fixes the issue by stringifiying the container types separately. runbot-237782 Forward-Port-Of: odoo/odoo#247149
This update fixes an issue where the softphone couldn't be closed using the same key that opened it. The change adds the same hotkey attribute to the close button, restoring the expected user experience. This ensures users can consistently close the softphone.
Original PR description
Since [1] the softphone cannot be closed with the same hotkey that opens it. This commit restores this behavior by adding the same hotkey attribute to its close button. [1]: https://github.com/odoo/enterprise/commit/df1772e877a508150fd3f549526dec9d867354be
This update adjusts the layout of the bank journal dashboard to accommodate the Connect Bank button, ensuring it's always visible. A previous, unnecessary code block has been removed to streamline the process. This improves the user experience by providing consistent access to the Connect Bank feature.
Original PR description
[IMP] account_online_synchronization: Remove useless t-if/t-elif This commit removes an useless t-if/t-elif introduces by this commit [[1]]. It seems this is useless as we have the same code inside the t-if or the t-elif. Only the conditions are different. no task id [1]: https://github.com/odoo/enterprise/commit/5c879c9097a2f3ebaf7b7b751a95de8d8f95527a [IMP] account_online_synchronization: Wrapping connect bank in dashboard The aim of this commit is making sure we are wrapping the Connect Bank button in the bank journal dashboard when we don't have enough place for it. no task id Before: <img width="402" height="329" alt="connect bank before" src="https://github.com/user-attachments/assets/110e417c-72b1-4294-a7fa-abab865658b5" /> After: <img width="385" height="325" alt="connect bank after" src="https://github.com/user-attachments/assets/6222059a-d83a-4e98-a5db-e288369800b8" />
This update corrects a technical issue within the Odoo Enterprise payroll accounting module. The module was incorrectly referencing a dependency that caused test failures. By removing the outdated dependency, the module now functions correctly and ensures consistent payroll processing.
Original PR description
hr_payroll_account_iso20022 did not depend on hr_payroll_account but only on hr_payroll and account_iso20022. This was causing some errors in tests that were expecting hr_payroll_account to be installed. Runbot Error: 237797 Forward-Port-Of: odoo/enterprise#106165
This update resolves an issue where lengthy bank reconciliation names were being truncated and displayed as a long list of commas. The fix moves a key component, improving the clarity and readability of bank reconciliation statements for users. This ensures accurate and complete information is presented.
Original PR description
When we have a lot of reconciled names, it can happens that you just have a long list of comma. It's because the text truncate was misplaced. This commit will fix this by moving the text truncate no task id Forward-Port-Of: odoo/enterprise#106242 Forward-Port-Of: odoo/enterprise#105674
This update fixes an issue where recurring prices on ecommerce product pages were displayed with incorrect grammar, specifically using singular forms for billing periods longer than one. The change ensures prices are presented in a user-friendly and grammatically correct manner, enhancing the customer experience.
Original PR description
Issue: - On ecommerce product pages, recurring prices displayed incorrect grammar. - Billing periods greater than one were shown in singular form (e.g. 'Every 6 month' instead of 'Every 6 months'). Fix: - Updated recurring price display logic to use plural period labels when the billing period value is greater than one. Impact: - Recurring prices now display correct and user-friendly grammar. taskid-5529937 Forward-Port-Of: odoo/enterprise#105127
This update resolves a bug that caused incorrect schedule calculations when using planning-based work entries, particularly with material-type resources. The fix restricts schedule computations to only include planning slots for the employee creating the attendance, ensuring accurate time tracking and preventing scheduling conflicts.
Original PR description
Steps to reproduce: - Set the work entry source to planning for an employee. - Create an attendance for that employee. Issue: - Errors occurred when planning slots linked to material-type resources were included in schedule computation. Fix: - Restrict planning slots used for schedule computation to records whose employee_id belongs to self.ids. task-5476771 Forward-Port-Of: odoo/enterprise#103951
This update corrects an issue where project forms, accessed through SmartButtons, were initially displayed as uneditable. The fix removes a setting that was incorrectly preventing editing, ensuring users can now fully interact with project forms. The reason for this initial setting remains unclear.
Original PR description
Issue: When navigating to any form view related to an FSM Project via
SmartButtons, they are loaded as uneditable
Solution: Remove "edit":False in _update_action_context method
Note: It is unknown why this was added in the first place, since
removing it does not cause any crashes
opw-5413753
Forward-Port-Of: odoo/enterprise#105225This update corrects a discrepancy in a sales subscription test. The test previously incorrectly prioritized pricelists based on a default setting related to partner countries. The fix ensures consistent pricelist ordering, resolving a potential issue with subscription pricing and improving test reliability.
Original PR description
Versions -------- - 18.0+ Issue ----- Commit a840e4250666 changed a `sale_subscription` test as pricelist ordering was changed. Before, it was `sequence asc, id desc`, now it is `sequence asc, id asc`. However, in the updated tests, it expects the first pricelist created with sequence 4 to be before the second pricelist with sequence 2. This was only happening due to default pricelists getting set as the `specific_property_product_pricelist` if the partner has no country assigned to them. Solution -------- As the behavior is now identical for partners with or without a country assigned to them, we can resolved the test setup by giving both pricelists an identical sequence, making the ordering fall back on `id` like a840e4250666 intended. opw-5385213 Related: https://github.com/odoo/odoo/pull/241736 Forward-Port-Of: odoo/enterprise#105606 Forward-Port-Of: odoo/enterprise#103116
This update fixes an issue where malformed PDFs caused errors during the signature process. The system now attempts a more lenient PDF parsing method when the initial attempt fails, ensuring that more PDFs can be processed correctly. This improves the reliability of the signature workflow.
Original PR description
Before this commit, opening some malformed PDF failed during flattening because PyPDF2 strict parsing and form-field reads raised errors. After this commit, we try first parsing the PDF in the usual way and if we fail, we try again with strict=False. See https://pypdf.readthedocs.io/en/stable/user/robustness.html. task-5902859 Forward-Port-Of: odoo/enterprise#106276
This update resolves a technical issue that prevented printing from IoT printers within the Point of Sale system. The fix addressed an 'undefined' error, ensuring reliable printing functionality for users. This improvement enhances the overall POS experience.
Original PR description
This PR fixed "error: undefined" when printing via websocket with iot printers in point of sale task-5496890 Forward-Port-Of: odoo/enterprise#106284
This update removes tax reports from the invoicing app to align with its intended purpose of providing basic invoicing features. Previously, the invoicing app was displaying tax reports, which are designed for accounting functionality. This change ensures users access the correct tools for invoicing while maintaining a streamlined experience.
Original PR description
Invoicing app is intended to provide basic invoicing features. Having the tax report shown allow the users to access return features that are intended for Accounting. Therefore, tax reports should be hidden in Invoicing and visible when accounting installed. task-5489532
This update adjusts how product category names are handled within Odoo. Previously, complete category names were stored, but this has been removed. This change ensures data consistency and improves performance, particularly in reporting.
Original PR description
Adapt to product.category complete_name not being stored anymore Odoo PR: https://github.com/odoo/odoo/pull/236067 Upgrade PR: https://github.com/odoo/upgrade/pull/9279 task-4804824
This update resolves an issue where file uploads were incorrectly formatted as Base64 encoded data. Previously, this caused problems with importing files into the system. This change ensures files are handled correctly, improving the reliability of data import processes.
Original PR description
Like other Binary fields. https://github.com/odoo/odoo/pull/247189
This update fixes a bug in the automatic tour engine that prevented it from correctly identifying elements behind overlays like popovers and notifications. The change ensures the tour engine accurately avoids interacting with elements behind modals, improving the user experience and preventing potential issues with tour functionality.
Original PR description
Before this commit, the automatic tour engine checked whether the DOM contained a `.modal` and whether the trigger element was inside it, in order to avoid interacting with elements behind a modal. However, when the DOM also contained a popover or a notification, this check was skipped. With this commit, this logic has been improved to also take other overlay items into account. This improvement involves some fixes and adaptations in a few tours.
This update resolves an issue where the printer selection wizard could generate errors when trying to use outdated printer records. The system now filters out printers that no longer match existing devices, ensuring a smoother and more reliable user experience. This prevents potential disruptions to business processes.
Original PR description
Printers saved by the selection wizard in local storage can correspond to records that no longer exist in the database (removed in the meantime). To avoid a traceback when creating the wizard with non- existing printers, we filter out the ones that don't correspond to any device. Forward-Port-Of: odoo/enterprise#106268