Daily updates from Odoo
Friday, April 3, 2026
8 changes · master
Enhancements to existing features
This update addresses an issue where excessive M2M tags were creating a cluttered user interface. Now, the system limits the number of displayed tags, prioritizing the first 'x' tags and offering a convenient '+yy' tag to reveal all. This enhances the user experience and visual clarity.
Original PR description
Currently we don't have a way to limit the number of m2m tags displayed, which can lead to ugly UI. This commit introduces such a limit, making it editable via studio. BEFORE: All tags were displayed. NOW: If there are more tags the limit, we only the display the "x" first tags, as well a a new tag with "+yy", where y represents the number of hidden tags. The "+yy" tag can be clicked to display all tags and has a tooltip: "Click to show more". We use 8 as a default number of m2m tags displayed (which is also the number of records we display in m2m dropdowns). Setting a value of 0 can be used to display all tags regardless of how many they are. Documentation PR: odoo/documentation#16667 Enterpirse PR: odoo/odoo#251159 task#5799365
This update enhances the system's ability to find orders linked to customer support inquiries. Previously, searching by a child contact's email was difficult. Now, agents can efficiently locate the correct order by searching through child contacts' email addresses, preserving the established company hierarchy.
Original PR description
PURPOSE When a customer contacts support using an email address different from the main company linked to the subscription (e.g., a child contact), it is difficult for agents to identify the correct order or subscription. SPECIFICATIONS Modify the search view for `partner_id` in both `sale` and `sale_subscription`. Replaced the standard `operator="child_of"` with a custom `filter_domain` that preserves top-down hierarchy searching while also performing a bottom-up search against the `email` field of any `child_ids`. Task-6044439 COM PR: https://github.com/odoo/odoo/pull/254608
This update enhances the sign request portal view by introducing a dedicated sidebar for better organization and usability. The new design displays key information like sender details, signers, and document details in a more structured format, improving the user experience for signing documents.
Original PR description
Before this commit, the sign request portal view was a simple flat layout using portal.portal_layout directly, showing creation date, sent by, expiry date, and sign/download buttons all stacked together in the main content area with no sidebar. After this commit, the portal view has a proper sidebar (via portal.portal_record_sidebar) with action buttons (Sign Now/Preview or Preview/Download depending on state), the sender's info, and the signers list. The main area now shows the document name, document tags, validity date, and message. task-5959822
This update adds a warning message to alert users before switching to automated data cleaning. Currently, users aren't warned about potential irreversible changes, which could lead to data loss. This change ensures users are aware of the risks and can make informed decisions.
Original PR description
Setting a cleaning model to automated can trigger irreversible operations, but no warning is currently shown to users, unlike manual cleaning actions. This commit adds a warning popup when selecting "Automated" mode to inform users about the potential impact. task-5933180
This update enhances the map view by providing users with more control over routing preferences, including options for 'Disabled', 'Optimized', and 'Ordered' routes. The visual display of unlocated records has also been improved for clarity and ease of use. This change streamlines map navigation and data access.
Original PR description
*: crm_enterprise, planning_field_service, project_enterprise, sale_enterprise, stock_fleet_enterprise, web_studio First commit enhances the visual hierarchy and clarity of the "unlocated records"…
*: crm_enterprise, planning_field_service, project_enterprise, sale_enterprise, stock_fleet_enterprise, web_studio First commit enhances the visual hierarchy and clarity of the "unlocated records" toggler in the map view pin list. Key design changes include: * Adding a compass icon to the left of the text for better visual context. * Upgrading the text to an `h5` element to increase its size and prominence. * Moving the collapse/expand caret to the far right of the container for a cleaner alignment. Second commit enhances the map view by replacing the basic routing toggle with a selection, offering three distinct routing modes: * **Disabled:** No routing is calculated nor displayed. * **Optimized:** Computes the route for minimal travel time between records (the current default behavior). * **Ordered:** Routes strictly follow the default order set on the view (restoring the previous default behavior). Additionally, to prevent configuration confusion in Studio, the "default order" option is now dynamically hidden unless the routing mode is set to "Ordered". task-6044531
This update simplifies payroll processing for Belgian employees by automatically capturing required 'Worker Code' and 'Dimona category' values on the employee type. Previously, these were manually entered, leading to inefficiencies and errors. This change ensures accurate Dimona IN validation and correct payslip calculations, aligning with ONSS regulations.
Original PR description
Worker Code & Dimona category are required on an employee in Belgium to do or validate the Dimona IN and to compute payslips properly (impact on ONSS rules ...) but these values are often the same for employees of the same type, so having to define it manually each time is time consuming and error prone Task: 5977868
This update enhances shift planning by adding a warning indicator when a resource assigned to a shift doesn't have the correct role. Previously, it was difficult to identify these mismatches, leading to potential scheduling errors. Now, a clear warning will be displayed, ensuring resources are assigned appropriately and improving planning efficiency.
Original PR description
[IMP] planning: Add warning when the resource assigned to a shift does not match the shift role Add a new variable, "does_resource_have_role", to the planning_slot model. This variable indicates whether the resource assigned to a slot matches the role required for that slot. The value is computed by the "_compute_does_resource_have_role" method, which is used in both the form view and the Gantt view. Task : 4798365
This update automatically updates the DGI (Uruguayan tax authority) state for electronic stock pickings, ensuring compliance. When a picking is rejected by DGI, the system now logs the issue and notifies users for manual review, improving accuracy and reducing manual effort.
Original PR description
This pull request introduces an automated process to periodically update the DGI (Dirección General Impositiva) state for Uruguayan electronic stock pickings, along with improvements to error…
This pull request introduces an automated process to periodically update the DGI (Dirección General Impositiva) state for Uruguayan electronic stock pickings, along with improvements to error handling and logging when a picking is rejected. The main changes are the addition of a scheduled cron job, enhanced logging, and user notifications for rejected pickings. **Automated DGI State Updates:** * Added a new scheduled cron job (`ir_cron_update_dgi_state_pickings`) that runs every 10 minutes to update the DGI state of stock pickings with electronic documents in the "received" state. (`l10n_uy_edi_stock/data/ir_cron.xml`, `l10n_uy_edi_stock/__manifest__.py`) [[1]](diffhunk://#diff-36f19bab7c2edeb0f43a1db1639b72e8508deed19652e0b1142ebfce688b9d3eR1-R11) [[2]](diffhunk://#diff-370a6cfd5890d6504958deb4a225d69ec84e84fa59deeeb52c96a849f3fdfc22R14) * Implemented the `_l10n_uy_edi_stock_cron_update_dgi_state` method in `stock_picking.py` to process batches of pickings and trigger itself again if more records remain. (`l10n_uy_edi_stock/models/stock_picking.py`) **Error Handling and Notifications:** * Enhanced the `l10n_uy_edi_action_update_dgi_state` method to log rejected pickings and post a message in the chatter to notify users when a picking has been rejected by DGI, prompting manual review and correction. (`l10n_uy_edi_stock/models/stock_picking.py`) * Introduced logging setup for the module to support the new logging functionality. (`l10n_uy_edi_stock/models/stock_picking.py`) [[1]](diffhunk://#diff-108d31170c95f307accd45410f9a98bd16ce0413932fab4732eb764d75d3e260R2) [[2]](diffhunk://#diff-108d31170c95f307accd45410f9a98bd16ce0413932fab4732eb764d75d3e260R14) Forward-Port-Of: odoo/enterprise#109518