Daily updates from Odoo
Tuesday, February 18, 2025
14 changes
1 change
Resolved issues and error corrections
This fix prevents plain text messages from being mistaken for HTML content, such as links or other rich message features. Users should see fewer incorrect highlights or message behaviors when searching and viewing messages in Discuss and mail-related areas.
Original PR description
When message content is not markup(), it will not render its content as HTML but as text when using t-out. This case was not taken into account when manually processing the content, leading to incorrectly detecting links or other features within purely text content. Those are now properly ignored.
13 changes
Resolved issues and error corrections
This fixes a restaurant point of sale issue where adding a kitchen note and sending it still left the order button visible and the line marked as changed. Staff now get clearer order status after notes are sent to preparation screens, reducing confusion and duplicate actions.
Original PR description
Steps to Reproduce: - Open POS restaurant. - Select a table. - Order some food. - Return to the floor plan. - Select the same table again. - Add a kitchen note to a line. - Click Order. - The note update is correctly sent to the preparation display. The "order" button is still displayed and the line with the note is still marked as “changed”.
The point of sale customer display now automatically scrolls as new order items are added, so customers can see the latest products even when the list is longer than the screen. This fixes a restaurant POS display issue when using a separate customer-facing device.
Original PR description
Steps to reproduce: - Install pos_restaurant - In restaurant's configs, set 'Customer Display' to 'Another device' - Open the customer display in another tab, and start adding products from the main display -> The list of products on the customer display doesn't auto scroll when the products overlow the view. Explanation: The last `OrderLine` is supposed to be pass a `selected` prop, so it can be targeted from JavaScript and scrolled into the view [1]. However, this prop was removed in 1bc90a18807c43206c4620d7faad2579a3a61fc9. Now we add it back. [1]: https://github.com/odoo/odoo/blob/18.0/addons/point_of_sale/static/src/app/generic_components/order_widget/order_widget.js#L28-L30 opw-4458215
This update makes several automated website, point-of-sale, barcode, and eLearning test journeys more stable by improving how they wait for pages, animations, and interface elements. It reduces false test failures, helping teams validate changes with more confidence without changing normal customer-facing behavior.
Original PR description
Here is description of modifications for each tour: modified: addons/barcodes/static/src/barcode_handlers.js Use hoot event instead of custom event defined in macro.js to uniform code and behaviors.…
Here is description of modifications for each tour:
modified: addons/barcodes/static/src/barcode_handlers.js
Use hoot event instead of custom event defined in macro.js to
uniform code and behaviors.
modified: addons/l10n_br_website_sale/static/tests/tours/brazilian_address.js
Add a delay to wait the form is loaded to avoid problem with
_selectState(id) function.
modified: addons/point_of_sale/static/tests/tours/utils/chrome_util.js
Use waitFor in run of step because .fa-circle-o-notch should not
appears ... then of course body:not(:has(.fa-circle-o-notch)) also
not and then tour crashes.
modified: addons/pos_self_order/static/tests/tours/self_order_kiosk_tour.js
Because of the background animation, clicking on order now
may not do anything... so we'll click until we get to take out.
modified: addons/pos_self_order/tests/test_self_order_kiosk.py
Let's see comment of previous file ... We could need more time
for the tours.
modified: addons/test_website/static/tests/tours/restricted_editor.js
:contains(text) => Check that textContent.test(regex)
:has(class) => Check the element classList contains the class
modified: addons/website/static/tests/tours/html_editor.js
Additionnal steps to ensure tour take the good way.
modified: addons/website_slides/static/tests/tours/slides_tour_tools.js
Uniformize the behavior for two tours with clickOnAddTagDropdown
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-prPoint of Sale product searches now treat accented and unaccented text consistently. This helps cashiers find products with accented names more reliably, reducing checkout delays and missed search results.
Original PR description
Currently, if you have a product named "clémentines" and input "clémentine" in the search bar it will not be found. Steps to reproduce: ------------------- * Create a product sold in POS named clémentine * Open a shop which does not restrict categories * Input in the search bar "clémentine" > Observation: No product for "clémentine" Why the fix: ------------ The product `searchString` is `unaccent` and `toLowerCase` while the searchWord is only `toLowerCase`. https://github.com/odoo/odoo/blob/f82f768729d897fa54b04789f4e0637ed1bb27f4/addons/point_of_sale/static/src/app/screens/product_screen/product_screen.js#L397-L397 opw-4558898
This fixes an automated website setup check that could fail depending on which website apps were installed. The tour now only opens the link editor when needed, making website testing more reliable without changing customer-facing behavior.
Original PR description
The following PR: https://github.com/odoo/odoo/pull/190321 introduced a new website tour. However, one of the step make the tour consistently fail with a single app website install. The reason for the fail is that the "edit link" sub-window is opened by default if the link is not open through the "extra menu". Clicking the button (what currently do the test) do close the sub-window making the input not clickable in the following step.  *single-app website build screenshot* the URL input is open by default *multi-app build screenshot* the URL input is not shown by default as the mega-menu menu-item is shown in the "extra menu" due to the amount of menu added by other website related app After this PR: The "edit link" button is pressed only if the input is not visible rb-111286
The manufacturing BoM overview no longer crashes when viewing products that use dynamically created variants. If a specific product variant does not yet exist, variant-specific operation details are safely skipped so users can still access the overview.
Original PR description
Steps to reproduce the bug: - Ceate a product - add a new attribute with "variant creation mode" = "Dynamic" - create a BoM for this product - make sure to add an operation in the operational lines…
Steps to reproduce the bug: - Ceate a product - add a new attribute with "variant creation mode" = "Dynamic" - create a BoM for this product - make sure to add an operation in the operational lines of the bom - Click on the BoM smart button then BoM overview smart button Problem: Traceback is raise, because in the BoM overview it creates a BoM report, and it adds the operational lines(operations) to the report, some operations are skipped based on the function `_match_all_variant_values` that checks if the product has all the variant values. This function expects a product to run on, but in case of dynamic attribute a product will only be created if it is included in a sales order, hence the product is empty and the function raise the exception. Since the BoM report is for the product variants, then we can skip the operational line if no product is used in the BoM, and hence the `_match_all_variant_values` won't be called over empty product. opw-4518723 **Possible approaches for the Issue**: 1- Change the product variable in the bom object in the _get_bom_data function to be the product.template instead of the concrete product, this will affect many other functions in the generating of the bom report as **_get_resupply_route_info** function that calls **_get_rules_from_location** which is not a function on the 'product.template' model. Considering that approach requires anticipating the case of having the product.template in the bom in all the sections in the bom report. 2- Keep the porduct in the bom object empty one since we don't have with dynamic attributes. And we just skip operational lines if the porduct is empty so the **_match_all_variant_values** is not called. [**IMPLEMENTED**] (This change doesn't require more changes as everything will be still working with the expected model type 'product.product' but the operations and other data will be empty in the report which make sense because they are variant related ) Current behavior before PR: the app show error whenever a BoM overview smart button is clicked for a BoM of a product with dynamic attribute variants Desired behavior after PR is merged: The BoM overview report should be shown normally with no problems. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fixes the mobile call screen so the push-to-talk button keeps the correct size instead of expanding over the call view. Mobile users can now access call controls without the interface being blocked by an oversized button.
Original PR description
Before this commit, since https://github.com/odoo/odoo/pull/189657, the mobile push-to-talk button was also affected by the aspect ratio affecting all buttons of the call action list. This was making the button too big and covering the whole call view. This commit fixes this issue by introducing a dedicated selector for the bar part of the call action list. before:  after: 
Chat bubbles in spreadsheets now stay fully visible when the filters panel is hidden. This prevents conversations from being partially covered by the spreadsheet scrollbar, making chat easier to use while working in spreadsheets.
Original PR description
Before this commit, when using spreadsheet with some chat bubbles, the chat bubbles were cut with horizontal scrollbar of spreadsheet. Steps to reproduce: - make a spreadsheet - put a chat in chat…
Before this commit, when using spreadsheet with some chat bubbles, the chat bubbles were cut with horizontal scrollbar of spreadsheet. Steps to reproduce: - make a spreadsheet - put a chat in chat bubble (e.g. from click on messaging menu) - remove the "filters" panel of the spreadsheet This happens because the horizontal scrollbar of spreadsheet uses a `z-index: 15` while chat bubble uses `z-index: 10`. The `z-index` of chat bubble is relative to navigable list, and since the value was exactly slightly offset from navigable list, this commit fixes by shifting the `$o-mail-NavigableList-zIndex`. It was `11`, now it's `21`. As a result, the chat bubble `z-index` is being changed from `10` to `20`, which is greater to `15` from spreadsheet horizontal scrollbar. Task-4547672 Before / After <img width="106" alt="Screenshot 2025-02-17 at 17 10 28" src="https://github.com/user-attachments/assets/caf3d9f8-59d4-4b2b-9981-d2e5ed68a510" /> <img width="97" alt="Screenshot 2025-02-17 at 17 11 14" src="https://github.com/user-attachments/assets/1c9376bc-ca24-42dd-8864-eee0878fc1c7" />
This fixes a French accounting setup issue caused by a module split in Odoo 18. The change ensures existing tax tags are preserved using the correct French accounting module, helping avoid configuration inconsistencies during updates.
Original PR description
I found this bug while reading the code of l10n_fr_account. In v18, the module l10n_fr was split between l10n_fr and l10n_fr_account. When calling preserve_existing_tags_on_taxes(), we need to pass the module name l10n_fr_account because account.account.tag are now defined in l10n_fr_account, cf https://github.com/odoo/odoo/blob/18.0/addons/l10n_fr_account/data/account_chart_template_data.xml#L3 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
In https://github.com/odoo/odoo/commit/b42c99abd362c15e86f6a745399979dd3236b75a, we changed the xml_id but we forgot to change that in the pot --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Original PR description
In https://github.com/odoo/odoo/commit/b42c99abd362c15e86f6a745399979dd3236b75a, we changed the xml_id but we forgot to change that in the pot --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix ensures formatted comments in restaurant booking views display as intended in Point of Sale. It adds the required editor support so staff can read rich text notes properly during booking workflows.
Original PR description
Before this commit comment field in calendar_event_view_form_gantt_booking used in pos restaurant does not display properly html field. Fixed by importing the html editor to the point_of_sale manifest. task-4547369 https://github.com/odoo/enterprise/pull/78536 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The version history panel no longer offers a redundant rename menu action that could trigger an error. Users can still rename a spreadsheet version directly by clicking the editable name, making the experience simpler and more reliable.
Original PR description
Clicking 'Name this version' in the version history panel causes a traceback because the `el` of TextInput is not found. We have two possible solutions: 1. Forward the refs of TextInput and VersionHistoryItem explicitly using `useChildRef` and `useForwardRefToParent`, or use a callback to retrieve the ref for focusing the input. 2. Remove the menu item, as the cursor already changes to a text pointer on hover, indicating the name is editable. I think the second approach is better since it is simpler and more intuitive. Task: 4563422
Creating a share link from an appointment type no longer clears the user’s current filters. This keeps users in their existing view and avoids unnecessary reloading while managing appointment sharing.
Original PR description
Steps to reproduce ================== - Got to appointment type; - Apply some filter. - Now create a share link. - Filter is lost. Technical =========== https://github.com/odoo/enterprise/pull/63046/commits/492296e91e9c0b1106a7bc6852010be426d2abe8 Here we are loading the action while creating or updating the share link to reflect the changes without refreshing. It is not required when we create a share link from other places instead of a Share link menu. After this commit ================== This commit addresses the issue and now the filter will not lost when we create a share link from appointment_type. Task-4138356