Tuesday, May 11, 2021
4 changes · master
Enhancements to existing features
This update makes Odoo's internal registry load about 25% faster in large installations, helping systems start or refresh more quickly. It also adjusts related user and validation logic so existing customizations continue to work with the faster loading process.
Original PR description
The base classes of models in the registry are modified when models are extended by inheritance. But modifying cls.__bases__ is a costly operation, so we manage to do it once per model when loading a registry. Our benchmark consists in loading a registry with 296 modules. The net time to load the registry is 25% smaller. In other words, **the registry loads 25% faster**. Note that the time does not include the time to load modules themselves, which does not change. The other commits fix tricks with `BaseModel` method `__init__` that no longer work.
Users can now retry sending multiple failed emails at the same time instead of resending each one individually. This makes it faster to recover from temporary email delivery issues and reduces manual work for staff.
Original PR description
Add a retry button to enable the user to try and resend multiple emails at once, purpose is to allow users to easily send back multiple emails which crashed for a "one-shot" reason instead of asking them to resubmit them one by one. Task-2492990 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update reduces the memory needed to run Odoo's internal registry, especially in databases with many installed modules. For a large registry, the change cuts registry memory usage by about 22%, helping improve server efficiency and capacity without changing user-facing behavior.
Original PR description
This is a bunch of commits that reduce the memory taken by a registry. On a registry with 296 modules, this saves 3 megabytes (out of 13.5) of memory, which is about 22% of the registry's memory footprint.
Field service teams get a smoother task workflow with clearer default views, better filters, visible sales links, and easier configuration. Reporting is more accessible through a renamed task report, while product quantity handling is tightened to protect delivered inventory records.
Original PR description
Specification: -------------- * project form view: move the is_fsm field out of the debug mode * all tasks > all tasks menu: - display the kanban view by default - allow the creation of stages - when…
Specification: -------------- * project form view: move the is_fsm field out of the debug mode * all tasks > all tasks menu: - display the kanban view by default - allow the creation of stages - when a stage is created, share it by default with all existing projects with is_fsm = true * change in worksheet report: - rename 'worksheet report' into 'task report' - make it available without needing to enable the 'worksheets' feature - if the 'worksheets' feature is not enabled, only display the 'timesheets' and the 'time & material' sections of the report * add an 'added products' filter that should return all the products with quantity > 0. * kanban view: display the number of remaining hours on fsm tasks as well * filters: add a separator between the 'archived' and the 'planned for today' + 'future' filters also move the 'archived' filter below the 'planned for today' + 'future' filters * add a kanban view to the configuration > worksheet templates menu * allow decreasing the quantity of the added products once the task is marked as done if stock is installed, raise the following error when the user tries to decrease the quantity: "You cannot decrease the delivered quantity once the task is marked as done. Please, create a return in your Inventory first." * display the 'sales order' stat button on fsm tasks as well * configuration > settings: the 'extra quotations' feature should always be visible, even if sales is not installed. also enabling 'extra quotations' should automatically enable 'time & material' (but not the other way around) Related PR: odoo/odoo#68940 TaskID: 2465012