Thursday, April 17, 2025
16 changes · master
Enhancements to existing features
Search results in the core system will now appear in a predictable order when no specific sorting is requested. This improves consistency across environments, making testing more reliable and helping teams reproduce issues more easily.
Original PR description
Currently, without a specified `order`, the `search` result order depends on PostgreSQL statistics, leading to inconsistencies that hinder testing and bug reproducibility. This commit enforces a deterministic order (typically by 'id') on all base module models to guarantee consistent `search` results.
The Duplicate action is now hidden for system model records where copying would fail and has no practical use. This prevents users from running into an avoidable error and keeps the interface focused on valid actions.
Original PR description
Before this commit: - The `Duplicate` option was visible in both the form and list views of the `ir.model` model. Attempting to duplicate a record would result in a unique constraint violation. Moreover, duplicating a model serves no practical purpose. After this commit: - The `Duplicate` option is no longer visible for `ir.model` records. task-4283392
Expense demo products are now aligned with the expected purchase settings, making sample expense flows more consistent. The change also prepares the Expense app for a future Stripe-related module installation once that module becomes available.
Original PR description
Improve demo data and prepare for the future installation of the hr_expense_stripe module --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The Point of Sale presets menu now appears only when at least one shop has presets enabled, reducing unnecessary menu clutter. Restaurant setup scenarios also correctly update this visibility, so users see the right options after installation.
Original PR description
After this commit: === - `presets` menu visible only when any one shop has enabled presets. - Fixed menu visibility when installing a restaurant via scenario. Task: 4523232 Related PR: odoo/odoo#196800
Odoo replaces an older internal caching helper with a standard Python alternative that provides the same behavior. This reduces custom maintenance while preserving existing functionality for users and business processes.
Original PR description
`functools.cached_property` is functionally the same thing as `lazy_property`, and was introduced in Python 3.8. It does not provide a way to reset all cached properties so a helper for this usage is necessary.
Report names across multiple country-specific accounting localizations were standardized to be easier to read and compare. This removes redundant geographic wording and aligns capitalization, helping users identify the right reports more consistently.
Original PR description
Report names have been standardized for clarity by removing country/geographic location details and ensuring even capitalization. Task ID: 4501944
The web interface now uses a cleaner way to highlight certain tag suggestions in many-to-many tag fields. This keeps the user experience the same while simplifying the underlying implementation, making future maintenance easier.
Original PR description
Before this commit we needed to give a callback getOptionClassNames to Many2XAutocomplete to set a custom class name on menuitems. This custom class was used to display bold text. Now, we give a slot with a span with fw-bold instead. task-3679690
Inventory pages now include more descriptive paths in their URLs for key actions. This makes links easier to recognize, share, and navigate across Inventory-related workflows without changing the underlying business process.
Original PR description
Added path in URL for the main actions of Inventory. task - 4555119
This change updates internal Sales app tests to a newer testing approach. It helps maintain product quality and makes future Sales changes safer, without changing day-to-day user workflows.
Original PR description
task-4028356
The stock picking filter list has been simplified by removing redundant or overly advanced default filters. This makes it easier for users to find meaningful picking issues without duplicate or confusing filter options.
Original PR description
There are too many filters, some of which are redundant or not meaningful when grouped with OR. - Removed the "Planning Issues" filter as it overlaps with "Late." - Removed the "Warnings" filter because it is too advanced to be included in the default filters. - Added a separator for the "Late Availability" filter. Task ID: 4614459
Delivery order origins now show only the related sales order information, without duplicating the customer's reference. This prevents repeated references on delivery slips and keeps order tracking more reliable when customer references change.
Original PR description
The origin field reliably tracks related orders, but including the customer reference caused issues: - The delivery slip displayed the customer reference twice. - Updating the customer reference in a sale order did not update the origin, making it unreliable for tracking. This change removes the customer reference from the origin while keeping it structured for related orders. task-4613354
PLM actions now include clearer URL paths, making key product lifecycle pages easier to identify and navigate. This improves usability for teams who share links or revisit important PLM actions.
Original PR description
Added path in URL for the main actions of PLM.
Rental order deliveries no longer include the customer reference in the internal origin field. This prevents the reference from appearing twice on delivery slips and keeps order tracking more consistent when customer references change.
Original PR description
The origin field reliably tracks related orders, but including the customer reference caused issues: - The delivery slip displayed the customer reference twice. - Updating the customer reference in a sale order did not update the origin, making it unreliable for tracking. This change removes the customer reference from the origin while keeping it structured for related orders. task-4613354
WhatsApp discussion channels now use the sender partner's name when it is available, instead of defaulting to the related record name. This makes conversations easier for users to recognize and manage in Discuss.
Original PR description
Show the name of the partner when possible instead of the name of the record. Task-4448261 Co-Author: David Beguin <dbe@odoo.com>
Report names for Argentina and Chile have been standardized to be clearer and more consistent. This removes unnecessary geographic wording and aligns capitalization, making reports easier for users to recognize and compare.
Original PR description
Report names have been standardized for clarity by removing country/geographic location details and ensuring even capitalization. Task ID: 4501944
Vendor bills now keep the invoice reference provided by the vendor instead of copying the reference from the related purchase order. This reduces confusion when purchase order references and vendor invoice numbers are different, improving accuracy in bill tracking and matching.
Original PR description
…on invoice Adapt test to community modification. We now consider the vendor reference on the purchase order and the bill to be different, so we don't propagate it from PO and use the invoice name from the vendor as reference.