Sunday, March 30, 2025
4 changes · master
Resolved issues and error corrections
The web module now more accurately identifies plain data objects and avoids treating dates, lists, maps, or functions as the same type of value. This reduces the risk of incorrect behavior in shared web utilities and related screens while keeping the change internal and low impact for users.
Original PR description
This commit modifies the `isObject` helper in Web to only validate "basic" objects (or "dictionnaries"), i.e. direct instances of the `Object` class, such as `{}` or `Object.create(null)`.
The reason for this change is that the previous implementation validated any non-primitive value (basically a glorified `x instanceof Object`), and this has been determined to not be the most generic use case; in most cases, we only want to validate basic objects, and discriminate against any other JavaScript object (`Date`, `Map`, `Array`, `Function`, etc.).
As such, cases where the previous implementation was legitimate have been replaced with `x instanceof Object`.
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prAccrued entries can now be created for upsell sales orders that include subscription discount lines without causing an error. These discount-style note lines are ignored during accrual processing, keeping subscription upsell accounting workflows reliable.
Original PR description
Create a subscription Create an upsell On the SO of the upsell, create an accrued entry => Traceback The subscription_discount is like a line_note, and so should be ignored. For order lines, only these types of lines have a display type as the only possibilities are line_note and line_section (and subscription_discount now). So we can filter them by the presence of the display_type. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The point of sale payment screen now keeps scrolling focused on the payment method list when many options are available. This makes checkout easier to use and prevents the whole screen from moving unexpectedly.
Original PR description
When to much payment method are available in the payment screen, the scroll is on the whole screen and not only on the payment method list. This commit fix the scroll on the payment method list. taskId: 4672440
Fixes a problem in the Website editor where changing carousel arrow or indicator settings could trigger an error. This helps users edit carousel blocks reliably without interruptions.
Original PR description
Steps to reproduce: - In Website edit mode, - Drag and drop a "Carousel" block onto the page. - Click on the "Carousel" and try to change the "Arrows" or "Indicators" options. - Bug: A traceback occurs. The issue was introduced by [1], where the horizontal controller options were shared between the "Intro" carousel and the new "Cards" carousel added by this same commit. This change accidentally shared specific code for these two snippets across all carousels, which caused the bug. [1]: https://github.com/odoo/odoo/commit/a06bb677876fc4d61e592dca74699b1a4783a6c2 task-4662034