Tuesday, April 15, 2025
4 changes · 17.0
Enhancements to existing features
This change reduces unnecessary data loading when handling outgoing emails, especially large message bodies. It helps prevent memory-related failures and improves processing speed, making email operations more reliable for users.
Original PR description
Modifications are made around read, filtered, list comprehension. The read function usually does not prefetech fields other than stated. But in this case, since the fields are related fields from another model, The fields of the other model are prefeteched. This includes the body which can be very big in size and cause an out of memory error. Filtered does not need other fields and keeps them unnecessarily in cache. List comprehension where it has a reference to specific field inside the model also triggers the prefetecher. Benchmark: | |Number of queries| SQL time| Python time|| |-------|----------------------------|----------------|---------------|-| |with prefetch| 82| 1.887 | 7.898| Out of memory| |Without prefetch| 120| 0.385 | 5.973| | The benchmark with the prefetch was done locally with increasing the memory limit. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The website editor no longer offers separate Banner Info, Success, Warning, and Danger commands. Users can now use the customizable Alert option instead, which appears when searching for banner-related terms and provides the same messaging styles in one place.
Original PR description
This commit removes four banner-related commands: Banner Info, Banner Success, Banner Warning, and Banner Danger. These commands have been removed in favor of using the Alert command, which offers the same functionality through a fully customizable Alert snippet. Now, when users search for terms like 'Banner', 'Info', 'Success', 'Warning' or 'Danger', the Alert command will appear in the Powerbox instead of the previous banner commands. task-3572344 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Spanish invoicing now more accurately marks eligible invoices as simplified by default when the customer has no VAT number, is in Europe, and the invoice is under the simplified invoice threshold. This reduces manual work while still allowing users to change the setting if needed.
Original PR description
…simplfied When the partner has no VAT and it is within Europe and it is below the simplified invoice limit, we could indicate the invoice as simplified by default. If it is wrong, the user can still change it. opw-4633564 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
Manufacturing quality checks now avoid repeatedly copying large worksheet documents during creation. This improves performance for production processes with many work orders and large attached worksheets, reducing delays and timeouts while keeping the worksheet available.
Original PR description
Assume that a Manufacturing product has multiple work orders, and for each work order, there is a quality check. These quality checks are created for each `quality_point_ids` on a work order. In `_create_checks`, for each quality point per work order, a check is created with `worksheet_document` as one of the create vals. For a large `worksheet_document`, and for a large number of work orders, the creation of quality checks performs poorly. Solution --> The proposed solution is to remove `worksheet_document` from the create vals in `_create_checks` and add a related to QualityCheck.worksheet_document to the one of QualityPoint.worksheet_document to retain functionality. Benchmark --> For the creation of about 2000 quality checks from a QualityPoint record with a large pdf doc (worksheet_document), the process times out (>15 mins) After this change, the creation takes ~130s as it skips the IrAttachment related create methods. opw-4651775