Friday, May 30, 2025
8 changes · saas-18.3
Resolved issues and error corrections
The calendar view now adjusts correctly when users hide or show the side panel. This prevents wasted blank space and keeps the calendar using the available screen area as expected.
Original PR description
for the refactoring of the SidePanel of Calendar view we have created a new Component CalendarSidePanel. Since this change when we toggle the visibility of the SidePanel, the CalendarRender is not rerender anymore as only the props of the CalendarSidePanel are changed and so its leave a blank space to side of the FullCalendar. In this commit we add a ResizeObserver so when there is a resize of Calendar's parent we force a render of the FullCalendar agin. task-4835403 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
A regression test was added to ensure the custom filter dialog stays visually on top of search dropdown suggestions. This helps prevent a confusing backend interface issue where menu items could overlap the filter popup.
Original PR description
Steps to reproduce: - Install any module with exposed views (say sale_management) and the ai module. - Open any list view (say the Quotations) and type something in the search bar. - Dropdown menu items will appear and click "Custom Filter" button from the items. - [ISSUE] The items are shown over the custom filter dialog. The issue is caused by the custom rules introduced in the ai module and is fixed in the said module. https://github.com/odoo/enterprise/pull/86616 In this commit, we introduce a test to protect the backend interface to have this issue again.
This fixes a problem where editing the online shop page could fail if the store had no products. Business users can now customize the shop page, including adding column layouts, even before products are published.
Original PR description
Versions -------- - saas-18.3+ Steps ----- 1. Have no products listed in eCommerce; 2. go to `/shop`; 3. open editor; 4. add a Columns element. Issue ----- > Uncaught Promise > Cannot read properties of null (reading 'dataset') Cause ----- Commit 328c241fa5897 changed the `/shop` page edition, but didn't factor in that the product grid element is only added when there are products. Before this commit, the product grid numbers were initialized as `NaN` due to the element being undefined. Solution -------- As we still want the shop page to be editable, retrieve the relevant values via RPC if we cannot get them from the grid element. opw-4793447
This fix makes an automated website configurator test more precise so it selects the right steps during validation. It helps reduce false test failures and supports more stable quality checks for website-related changes.
Original PR description
In this commit we fix the tour test_01_configurator_flow by precising selector of two steps that has the same selector. runbot-error-id~190622 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
Corrected a display issue where AI-related dropdown items could appear on top of pop-up dialogs, such as custom filter windows. This makes the interface clearer and prevents menus from blocking important dialog content while keeping the AI chat window visible when needed.
Original PR description
Steps to reproduce: - Install any module with exposed views (say sale_management) and the ai module. - Open any list view (say the Quotations) and type something in the search bar. - Dropdown menu…
Steps to reproduce: - Install any module with exposed views (say sale_management) and the ai module. - Open any list view (say the Quotations) and type something in the search bar. - Dropdown menu items will appear and click "Custom Filter" button from the items. - [ISSUE] The items are shown over the custom filter dialog. The issue is caused by the custom rules introduced in the ai module. In this commit, we're removing all the custom rules that overrides the overlay items. We shouldn't be controlling the `z-index` of those items. To ensure that the AI ChatWindow is still above the dialog that opens it, we reduce the `z-index` of the dialog to `$zindex-sticky=1020` (from `zindex-modal=1055`) and change the `z-index` of the ChatWindows to `$zindex-sticky + 1`. This works because the `.o-mail-ChatWindow` elements lives in the same "stacking context" as the `.o-overlay-item` that contains the dialog. In the dom (and in terms of stacking context) it roughly looks like the following: - html (root stacking context) - .o-overlay-item:has(.o_dialog) (z-index=1020) (under .o-overlay-container) - .o-mail-ChatWindow (z-index=1021) (under .o-mail-ChatHub) - .o-mail-ChatHub-bubbles (z-index=1020) With the above `z-index` values, the stacking will be: - .o-overlay-item:has(.o_dialog) - .o-mail-ChatHub-bubbles - .o-mail-ChatWindow (top most) The bubbles are not visible when the chat window is open, and when the chatwindow is minimized, the bubbles is still visible because it's above the dialog.
Closing the AI agent chat window no longer triggers an error. This improves the user experience by preventing a disruptive message when users dismiss the chat.
Original PR description
**Current behavior before PR:** Closing the AI agent chat window would throw an error because the code attempted to access the associated chatwindow after it had been deleted. **After this commit:** The issue is resolved by ensuring the chatwindow is not accessed after deletion, preventing the error.
This update corrects an automated test for UrbanPiper point-of-sale order handling so it selects the intended order during validation. It prevents test confusion caused by similar-looking order and session numbers, helping maintain confidence in the order flow.
Original PR description
In this fix, I updated the parameters passed to the `selectOrder` and `orderHasText` functions. Instead of using 3-digit sequence numbers (e.g., "001", "002"), I switched to 4-digit formatting (e.g., "0001", "0002") to avoid conflicts with the `session_id`, which was causing the wrong `order-row` to be selected. runbot-163111
Web Studio now handles button action setup correctly when users work in non-English languages. This prevents an error that blocked adding a method to a button and keeps the experience consistent with English.
Original PR description
Error occurs when adding method for a button via web studio for non-english translations. **Steps to reproduce:** * Install `web_studio` and change language to any `non-english` language * via Settings>Translations>Languages (we will use french) * Go to Apps>Any App>DropDown>`Info sur le module`>Studio>`Ajouter un bouton` * Select button>`Que doit faire le bouton?`>`Appeler une methode` * Mode> `button_immediate_install` `ValueError: not enough values to unpack (expected 2, got 1)` **Solution:** * This error does not occur in English translation instead it raises a `ValidationError` so we apply its logic to translated version as well. * We do this by removing `_t` from value in JS this would prevent translation of function name as function names are in English. **Sentry-6608410350**