Wednesday, April 8, 2026
9 changes · 17.0
Resolved issues and error corrections
This update fixes a warning related to employee sick leave durations. Previously, the system incorrectly flagged employees with sick leaves exceeding 31 days. The change now accurately identifies employees who have been on sick leave for the past 31 days, ensuring accurate reporting and compliance.
Original PR description
-**Issue**: The warning shows employees who had a long sick leaves before 31 days, which is incorrect. -**Fix**: Adjust the logic to include employees who have been on a sick leave for the past 31 days (at least).
This update resolves an error that occurred when removing products from POS orders, specifically when a product lacked a POS category. The fix prevents a program crash (IndexError) that could disrupt order cancellation processes. This ensures smoother and more reliable order management within the POS system.
Original PR description
When a product is removed from a POS order, _process_preparation_changes sorts the preparation display lines by their current stage sequence to determine cancellation priority. This relies on `order_stage_ids[-1]`, which raises an IndexError when a preparation display order has no stage assigned. Steps to reproduce: 1. Create a preparation display with at least one category filter. 2. Add a product to the POS with no POS category assigned. 3. Add that product to an order and send it. 4. Remove the product from the order and proceed to payment. 5. → IndexError: tuple index out of range opw-6089731
This update corrects a display issue where the product count in the stat button on Sale Order Lines created from tasks would incorrectly show '0 products' until the task was saved. Now, the counter accurately reflects the products associated with the task, providing a more reliable view of sales activity.
Original PR description
Previously, when creating a Sale Order Line on the fly from a task, the product count in the stat button showed '0 products' until the task was saved. Now, the counter no longer drops to 0 when the record is not saved. task-4276677
This update enhances error tracking for invoice processing within the account_peppol module. By including full error tracebacks in logs, developers can now quickly identify and resolve issues related to invoice receipt, leading to faster problem resolution and improved system stability.
Original PR description
This change improves error logging when receiving invoices by including the full traceback in the logs. This provides better visibility into the root cause and simplifies debugging by giving more context around the error. opw-6059877 Forward-Port-Of: odoo/odoo#256619
This update prevents the system from deleting user-modified views (COW views) during a routine cleanup process. Previously, these views were incorrectly identified as orphaned and removed, disrupting website customizations. The fix ensures that only truly orphaned views are deleted, preserving user-created content.
Original PR description
**Description** This PR fixes an issue where COW views created by users were being deleted during `_theme_cleanup`. **Issue:** [odoo/odoo#233723](https://github.com/odoo/odoo/issues/233723) ### Explanation The `_theme_cleanup` method deleted all views with `theme_template_id=False`. COW views created when users edited generic views also had `theme_template_id=False` because the field has `copy=False`. As a result, the method couldn’t distinguish between true orphans and user customizations. ### Solution Before deleting, the cleanup process now checks if a generic parent view exists. Only views without generic parents (true orphans) are deleted. task-5248173
This update resolves an issue where archived product filters were failing in Odoo 17.0. The fix ensures that display names are correctly loaded for archived records, allowing them to be included in spreadsheet global filters and improving overall filter functionality. This ensures accurate reporting and data access for archived items.
Original PR description
## Description: Steps to reproduce: - Open Dashboard > Sales > Sales. - Search for an item to filter. - Click the "Product" filter. - Click "Search more". - Search for an archived product. - Select it to add it to the filter. Issue: The filter needs `nameService.loadDisplayNames()` to resolve the label of the selected record ids. In 17.0, that service calls `webSearchRead()` without `active_test=False`, so archived records are filtered out and treated as missing. This makes spreadsheet global filters fail on archived records. Fix: Fetch display names with `active_test=False` in the shared web `nameService`, so already-known archived record ids can still be resolved. Task: [6094596](https://www.odoo.com/odoo/project/2328/tasks/6094596) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update fixes a technical issue where sending snailmail letters with a large number of pages (over 8) would result in a generic error. The change provides a more specific error message to help users quickly identify and resolve this problem, improving the overall user experience.
Original PR description
When a user attempted to send a letter with snailmail that had more than 8 pages, sending would fail, and a generic error message is logged on the letter. This commit makes the error message generated in that flow more specific to help users better understand the root cause of sending failure. task-5883011
This update fixes an issue where invoicing a Point of Sale order multiple times would create unnecessary stock pickings. This prevented incorrect inventory tracking, particularly when using the 'Anglo-Saxon' invoicing method and automatic stock updates. The change ensures that stock pickings are only created once, regardless of how many times an invoice is generated.
Original PR description
Calling `action_pos_order_invoice` on an already-invoiced POS order (e.g. a backend user clicking "Invoice" more than once) would unconditionally invoke `_create_order_picking`, producing one extra `stock.picking` per click under anglo-saxon + update_stock_at_closing configurations. opw-6092999 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update resolves an issue where deleting a project stage caused unexpected view behavior, switching to a filtered tasks view and displaying archived tasks. The fix ensures the original view remains active and the stage is properly removed, improving the user experience during stage deletion.
Original PR description
# Steps to reproduce 1. Create a project 2. Create a stage 4. Remove the stage # Current behavior Instead of remaining in the project tasks view, it switches to the tasks view filtered with the current project. Additionally, it displays archived tasks because no filter is selected, thereby discarding original ones. This also applies to stage deletion in other views (e.g., My Tasks), where the search filters are completely discarded. # Expected behavior The dialog should be closed, the stage should be deleted, and the original view should remain active. This is done through a soft-reload of the page, ensuring the original view is kept, together with original breadcrumbs, and the stage is visually disappearing. task-5498274