Wednesday, October 9, 2024
7 changes · saas-17.4
Resolved issues and error corrections
YouTube background videos on mobile now respect cookie consent settings before trying to load external YouTube assets. This prevents page loading errors for visitors when tracking services are blocked, especially in incognito or consent-restricted browsing.
Original PR description
Commit [958b41c4] added support to block third-party cookies, but some flows on mobile did not work properly. Steps to reproduce (on Chrome): - Enable the Cookies Bar in the settings and check "Block tracking 3rd-party services" - Add a Cover block (or another block) - Set a YouTube video as background of the block - Open an incognito window - Resize it so that it displays the page in the mobile version - Refresh the page => AssetsLoadingError: The loading of https://www.youtube.com/iframe_api failed [958b41c4]: https://github.com/odoo/odoo/commit/958b41c4acec7e1700ca4d6e0b25ee0ad2aac9f1 opw-4202306
The Point of Sale app now respects the category and sub-category order set in the backend. This keeps related sub-categories next to their parent categories, making product navigation more predictable for cashiers.
Original PR description
Problem: When sub-categories are sorted by ID in the PoS app, the order from the server is lost, which disrupts the intended category hierarchy. The expected behavior is that sub-categories appear immediately next to their parent, while preserving the server-defined order for all child categories. Steps to reproduce: - Create PoS categories with multiple levels of sub-categories. - Sort them in the backend list. - The same order should be preserved in the PoS app. opw-4212470 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Customers buying physical products will now always see the delivery step before payment, even when only one delivery option is available. This reduces confusion and gives shoppers a chance to review delivery details, while orders without shippable products still proceed directly to payment.
Original PR description
Version: saas-17.4 Issue: When only one delivery method is available, the checkout process skips the delivery page and redirects directly to payment, which confuses users. Fix: Removed the redundant `can_skip_delivery_step` logic. - Updated `shop_checkout` to always go through the delivery step if the order has deliverable products. - Now checking `order_sudo._has_deliverable_products()` to determine if delivery selection is needed. - Orders with non-deliverable products skip the delivery step and go directly to payment. The delivery page will now be displayed regardless of the number of delivery methods, improving user experience by allowing them to review their delivery details before payment.
Website editors can now reopen and manage popup snippets even when other page elements use language-based visibility rules. This prevents an error that interrupted editing multilingual websites, improving reliability for teams managing localized content.
Original PR description
Since [1] and the OWL conversion of the snippet menu, a bug was introduced. Steps to reproduce: - Navigate to Website Settings and install the French (BE) language. - Set French (BE) as the default language. - Save the new settings. - Open the Website Editor. - Drag and drop a Banner snippet. - Add conditional visibility to the snippet: Languages -> Visible for -> French (BE). - Save and verify if the conditional visibility is functioning correctly. - Edit the page and add a Popup snippet. - Save the changes. - Edit again, and click on the Popup under "Invisible Elements." Result: A traceback error occurs. This commit resolves the issue. [1]: https://github.com/odoo/odoo/commit/91293fe4a8125f65cd7e5f487aacbc62c35c0f74#diff-52a4f9d2c217548e69e6b7fd097f286f1754a6389734eea254b87255e501cbef opw-4127338
Customers using Sendcloud relay delivery methods could encounter an error when staff validated the related delivery order. This fix keeps the delivery order aligned with the correct shipping contact, allowing validation to proceed normally.
Original PR description
### Issue: When validating a stock picking created with a sendcloud picking method the partner assocaited with the delivery has no parent_id, so that the code will raise an error the one raised by:…
### Issue: When validating a stock picking created with a sendcloud picking method the partner assocaited with the delivery has no parent_id, so that the code will raise an error the one raised by: https://github.com/odoo/enterprise/blob/070a780db047d849db268a40f1b488dce0a80c6a/delivery_sendcloud/models/sendcloud_service.py#L556-L560 see commit fbeefb5f7d1e429b22d8fd6fc06b7c28b9c236a6 ### Steps to reproduce: - Create a sendcloud delivery method - go to website and order a product, go to checkout - pick sendcloud delivery method - select a relay location - go to odoo backend, go the sale order created by the website - click the SO deliveries smart button - Validate the delivery #### > Invalid operation ### Cause of the issue: When the customer checkouts, it confirms the sale order and generate a delivery linked to that SO via the `_action_launch_stock_rule`: https://github.com/odoo/odoo/blob/a91da6a5e835c11f59a4847026ffc79ba97969c5/addons/sale_stock/models/sale_order.py#L153-L155 Later in this confirm, the `partner_shipping_id` of the SO is changed to be associated with a `res.partner` of type `delivery`: https://github.com/odoo/odoo/blob/a91da6a5e835c11f59a4847026ffc79ba97969c5/addons/delivery/models/sale_order.py#L178-L183 but the partner of the picking is not changed accordingly. However, the `delivery_sendcloud` module expects ti receive this delivery partner as a `partner_id` which raises. ### Note: The error is only reproducible after 17.4 even though the only change is that the piece of code creating the partner was moved from `website_sale` to `delivery` by commit 6a28ecf201acaa1e09d3f02184b49f9b3f17486a HOWEVER, this change has a huge impact as it change the inheritance chain of the `sale.order` model: more precisely, the overrides of the `_action_confirm` in which the stock move is created happens before the overrides creating the partner of type delivery while the flow use to be generated in the opposite order so that the picking was created with the updated partner data ! opw-4181787 opw-4188628 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Users searching hidden Knowledge articles without entering a search term will now see all available hidden articles, up to the existing limit. This fixes a visibility issue where only favorite or demo articles appeared, helping members find the content they are allowed to access.
Original PR description
Steps to reproduce =============== 1. Go to knowledge as an admin and add some articles in the workspace with visibility for members 2. Log in as demo and search through hidden articles -> Only demo articles are visible and hidden articles are not visible. Issue =============== From the commit https://github.com/odoo-dev/enterprise/commit/c73484ba1c26a63fd8e5659d2feb25604c99bc3e only favorite articles were returned in the search initially. After this commit =============== This commit will show all (max is 40) hidden articles for an empty search. Task-4141105
Website orders using Sendcloud pickup locations can now have their deliveries validated correctly in Odoo. This prevents an invalid operation error caused by the delivery contact not being aligned with the stock delivery record.
Original PR description
### Issue: When validating a stock picking created with a sendcloud picking method the partner assocaited with the delivery has no parent_id, so that the code will raise an error the one raised by:…
### Issue: When validating a stock picking created with a sendcloud picking method the partner assocaited with the delivery has no parent_id, so that the code will raise an error the one raised by: https://github.com/odoo/enterprise/blob/070a780db047d849db268a40f1b488dce0a80c6a/delivery_sendcloud/models/sendcloud_service.py#L556-L560 see commit fbeefb5f7d1e429b22d8fd6fc06b7c28b9c236a6 ### Steps to reproduce: - Create a sendcloud delivery method - go to website and order a product, go to checkout - pick sendcloud delivery method - select a relay location - go to odoo backend, go the sale order created by the website - click the SO deliveries smart button - Validate the delivery #### > Invalid operation ### Cause of the issue: When the customer checkouts, it confirms the sale order and generate a delivery linked to that SO via the `_action_launch_stock_rule`: https://github.com/odoo/odoo/blob/a91da6a5e835c11f59a4847026ffc79ba97969c5/addons/sale_stock/models/sale_order.py#L153-L155 Later in this confirm, the `partner_shipping_id` of the SO is changed to be associated with a `res.partner` of type `delivery`: https://github.com/odoo/odoo/blob/a91da6a5e835c11f59a4847026ffc79ba97969c5/addons/delivery/models/sale_order.py#L178-L183 but the partner of the picking is not changed accordingly. However, the `delivery_sendcloud` module expects ti receive this delivery partner as a `partner_id` which raises. ### Note: The error is only reproducible after 17.4 even though the only change is that the piece of code creating the partner was moved from `website_sale` to `delivery` by commit 6a28ecf201acaa1e09d3f02184b49f9b3f17486a HOWEVER, this change has a huge impact as it change the inheritance chain of the `sale.order` model: more precisely, the overrides of the `_action_confirm` in which the stock move is created happens before the overrides creating the partner of type delivery while the flow use to be generated in the opposite order so that the picking was created with the updated partner data ! opw-4181787 opw-4188628