Monday, February 9, 2026
8 changes · master
Resolved issues and error corrections
Changing a price list now reliably triggers discount recalculation on sales order lines. This prevents related sales features from accidentally skipping required updates, helping users see the correct discounts after requested price changes.
Original PR description
When `_recompute_prices` is triggered (e.g., by changing a Pricelist), the system resets line discounts to 0.0 and recomputes them. This commit adds `force_discount_recomputation=True` to the context of the `_compute_discount` call in this method. This is necessary for modules extending `sale.order.line` (such as `sale_subscription`) that implement optimization logic to skip recomputation when line values (product, qty) are unchanged. By checking this context key, those modules can distinguish between an unnecessary trigger and a mandatory price update requested by the user. task: 5788384 ref: https://github.com/odoo/enterprise/pull/105077 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update keeps spreadsheet dashboard clickable-cell tests aligned with the latest spreadsheet icon naming. It helps ensure dashboard spreadsheet features continue to be validated correctly after the underlying spreadsheet component update.
Original PR description
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
The website editor's custom gradient color picker now keeps the color slider stable when selecting white at the top of the picker. This prevents the slider from unexpectedly jumping to red, making color selection more predictable for users.
Original PR description
**Current behavior before PR:** In editor's custom gradient picker, if `#FFFFFF` is picked from the very top of picker area, the color slider is reset to color `red`. This happens because when moving picker pointer to the top of area, `selectedColor` prop is updated to `#FFFFFF`, which calls `onWillUpdateProps` callback. As result, `convertRgbToHsl` sets hue value 0 for `#FFFFFF`, setting color slider to red. **Desired behavior after PR is merged:** This commit ensures that in `onWillUpdateProps` callback, `setSelectedColor` should not get called if `newSelectedColor` is the same as `this.colorComponents.cssColor` to prevent updating UI twice while picking the color. task-5170041 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#247212 Forward-Port-Of: odoo/odoo#236644
Recruiters can now send emails to applicants even after those applicant records have been archived or refused. This prevents communication actions from failing when following up with candidates who are no longer active in the pipeline.
Original PR description
Version: - 17.0 Steps to reproduce: - Create an applicant. - Archive the applicant. - Select the archived applicant. - Click the Send Email action. Issue: - Unable to Send Emails to Refused Applicants Cause: - The applicant_ids many2many field does not include archived applicants. Because of this, when an applicant is archived, the field becomes empty. Solution: - Add active_test to the field context. Task - 5786195 Forward-Port-Of: odoo/odoo#244691
This update fixes an issue where the Kanban view for manufacturing orders was incorrectly displaying all active orders instead of those related to the selected operation type. The change was caused by a removal of a context key in the Odoo 19.0 release, leading to a domain filter that didn't properly restrict results. Now, the Kanban view accurately filters manufacturing orders by the chosen operation type.
Original PR description
**Steps to reproduce:** * Install the *stock_barcode_mrp* module. * Go to *Inventory* ‣ *Configuration* ‣ *Operation Types*. * Create two operation types with *Type of Operation* set to…
**Steps to reproduce:**
* Install the *stock_barcode_mrp* module.
* Go to *Inventory* ‣ *Configuration* ‣ *Operation Types*.
* Create two operation types with *Type of Operation* set to *Manufacturing*.
* Create two manufacturing orders.
* In each manufacturing order, under the *Miscellaneous* tab
set a different *Operation Type* created above.
* Ensure sufficient *On Hand Quantity* exists for a product used in manufacturing.
* Open the *Barcode* application.
* Open one of the created manufacturing operation types.
**Observed behavior:**
* The kanban view displays **all** manufacturing orders whose picking
types are active, instead of only those related to the selected operation type.
**Cause:**
* In 19.0, the context key *`'search_default_picking_type_id': self.id`* was removed
from `_get_action` function in this [commit](https://github.com/odoo/odoo/commit/9ed7109b8f11260084374f2d7fa7073a9ad3c240)
* Previously, this context value restricted results to the current picking type by default.
* The method `get_action_picking_tree_ready_kanban` in *stock_barcode_mrp*
now overrides the domain with only *`('picking_type_id.active', '=', True)`*.
* This domain checks that the picking type is active but does not filter by
the selected picking type, causing unrelated MOs to be shown.
**Fix:**
* This ensures only manufacturing orders belonging to
the selected operation type are displayed.
---
opw-5819358
Forward-Port-Of: odoo/enterprise#105327This update removes an unnecessary check within the expense approval process, simplifying the system. This change improves efficiency and reduces potential points of failure related to expense approvals. It addresses a technical detail that no longer impacts functionality.
Original PR description
This parameter has been removed since it was not needed anymore. task-4966942
This update resolves a technical issue affecting the accuracy of tests for the Gantt chart's popover closure functionality. By switching to a standard drag-and-drop method, the tests now reliably reflect the chart's behavior, ensuring consistent results. This improves the overall stability of the Gantt chart module.
Original PR description
This commit fixes the "close tooltip when drag pill" test by replacing the `dragPill` utility with a standard Hoot drag-and-drop action. The previous `dragPill` utility relied on the `contains(...).drag` helper, which artificially moved the element before initiating the drag. This behavior interfered with the specific conditions needed to test popover closure, making the standard drag approach more accurate for this scenario. runbot-error-238499
This update prevents the sale of products categorized as 'zero-price' through the website. It now allows businesses to select specific product categories where the Contact Us button will appear for these items, improving the user experience and ensuring accurate sales tracking. This change enhances data integrity and aligns with best practices.
Original PR description
- Added an option to choose specific product categories where the Contact Us button should appear for zero-priced items. - Updated naming from `prevent_zero_price_sale` to `prevent_sale` for logic and naming consistency. task-4819657 SEE ALSO: Upgrade PR: https://github.com/odoo/upgrade/pull/7928 Documentation PR:https://github.com/odoo/documentation/pull/13908 Community PR: https://github.com/odoo/odoo/pull/215526 Documentation PR(BY Documentation team): https://github.com/odoo/documentation/pull/15740