Wednesday, October 30, 2024
6 changes · saas-17.4
Resolved issues and error corrections
Fixes when discounted prices are shown in the online store so the crossed-out comparison price is only displayed when it is actually higher than the price customers see. This prevents confusing cases where the original price appeared lower than the current tax-included price.
Original PR description
Previously, we compared the `compare_list_price` to the tax-excluded price to know whether to show a strikethrough price. However, if eCommerce was set up to show the tax-included price, we would sometimes show a strikethrough price that was smaller than the actual price (if `tax_excluded_price < compare_list_price and tax_included_price > compare_list_price`). This change compares the `compare_list_price` to the price actually shown on eCommerce. Partial backport of c5c2916a14bdc13b492f16e515c9231295607121
Fixes an issue where sliding an image gallery or similar carousel in the website editor could create unnecessary undo history entries. This keeps the editing history cleaner and makes undo behavior more predictable for website editors.
Original PR description
Since commit [1], sliding the `s_image_gallery` snippet, as well as any carousel not having the "Carousel" and "Carousel Item" options, should not add steps in the history. This was done by filtering…
Since commit [1], sliding the `s_image_gallery` snippet, as well as any carousel not having the "Carousel" and "Carousel Item" options, should not add steps in the history. This was done by filtering the mutations records: all the class and attribute changes related to the sliding of these specific carousels are now ignored. However, since commit [2], which fixed the auto-slide behavior of the carousels, an `o_carousel_sliding` class is now added on the `.carousel` element during the slide. The issue is that this class was not added in the list of classes to ignore when filtering the mutations, which therefore made this class addition/removal add a step in the history. This commit fixes that by considering this class. Note that this fix was already made in upper versions, when forward-porting commit [1]. [1]: https://github.com/odoo/odoo/commit/509e78dcf786581a345913e76f6da72af6baec0b [2]: https://github.com/odoo/odoo/commit/9eff9ae1904e0583f5dc60c6d925c52b48b208ec task-3744613
Product images on the online shop could show stray ribbon shadows even when no ribbon was meant to appear, visually cropping the image corner. This fix hides those empty shadows so product tiles display cleanly and consistently.
Original PR description
In 17.4, the `o_ribbon_right` class was applied to all product ribbons on the shop page, causing empty ribbon shadows to overlap and crop the top-right corner of product images. This CSS rule (`display: none`) hides shadows on empty ribbons, preventing overlap. This approach matches the fix in later versions to avoid layout issues. This is done already in the v18 with this commit https://github.com/odoo/odoo/commit/b5b8a133eb67f01cabec01a1dc874e8a27a3bb46#diff-f338780f594d6b1f46eda5d3fb9fed86f3c3c8f65522fb93e639534e9d92cdb2R1832 opw-4190631
This change adds clearer debug logging for the bus service's browser connection worker, making it easier for support and developers to understand connection behavior across tabs and browsers. It does not change end-user functionality, but should reduce investigation time when real-time updates or WebSocket connections need troubleshooting.
Original PR description
The bus service uses a shared worker to reduce the number of connections to the server. However, debugging the worker state can be challenging. If the shared worker is opened later, the WebSocket does not appear in the network tab. Additionally, the worker manages multiple tab and network states, which are not easy to visualize. This commit adds debug logs to the WebSocket worker to track communication between the client and worker, as well as between the worker and server. The log is done by each tab because Safari does not provide devtools for the shared worker. As a result, logs would be unreachable. It's easier to access the logs from the tab devtools.
The checkout placeholder for entering a customized product option is now included in the website sales translation files. This ensures shoppers using optional products see the prompt in their selected language, improving consistency for multilingual storefronts.
Original PR description
When you choose to add a free text value to a variant of the optional products at checkout, you will encounter a placeholder that is not translated: "Enter a customized value". This is because it's defined only in `sale` module, which is not a frontend module. This commit adds the untranslated text to the frontend module: website_sale. Task-4229289
Appointment users can now select up-front payment products that create project tasks, which were previously hidden by mistake. The change keeps unsuitable event-related products excluded while restoring valid service products, reducing setup friction for appointment payments.
Original PR description
In the Appointment app, when trying to select an "Up-front payment product," products configured to create a task in a project are not available in the dropdown list. Cause of the issue: In the `appointment_type` model definition within the `appointment_account_payment` module, a domain was applied on the `product_id` field, restricting the selectable products. The domain filtered out products with the `service_tracking` field set to values other than `"no"`. As a result, products that create tasks in projects (which have `service_tracking` set to `"task_global_project"`) were excluded. The commit https://github.com/odoo/enterprise/commit/ff54ff6cbdf79b1c24c468b5238d8eeb91e85cb9 aim was to prevent `event` and `event_booth` product to be selectable. This commit allows other product whose `service_tracking != 'no'` to be selectable while not allowing `event` and `event_booth`. opw-4146731