Friday, January 9, 2026
2 changes · master
Enhancements to existing features
This update refactors the core Odoo HTTP module into smaller, more manageable components. This change improves code organization and potentially reduces memory usage, particularly when handling large files. The focus is on streamlining imports and optimizing file streaming.
Original PR description
The odoo.http module is a huge file with thousands of lines. In this work we split it in many smaller chunks. The desire to split odoo.http has been in the air for quite some time, notably with the…
The odoo.http module is a huge file with thousands of lines. In this work we split it in many smaller chunks. The desire to split odoo.http has been in the air for quite some time, notably with the introduction of the many facade objects. This work only moves the constants, functions and classes in new dedicated odoo.http-submodules. In order to make the diff easier to gasp, we decided *not* to do other changes such as moving methods around. That's job for a future work. We decided to re-expose under the "odoo.http" namespace only the four Controller, route, Response and request. All the other symbols are much less so used and are to be imported from their dedicated module. `content_disposition` is kinda a special one, it is often imported by controllers that load an entire file in memory before sending it. We are opinated and think it would be a better idea to stream to files in order to keep memory usage in check. We moved the function next to the Stream class so the latter can be discovered.
This update enhances the Time Off Overview by ensuring all employees are visible regardless of filtering options. Previously, the overview only displayed employees when viewed solely by individual employee groups. This change provides a more complete and accurate view of employee time off requests.
Original PR description
We show all employees in the timeoff overview only when the view is grouped only by employee and no leave filters are applied.
Task: 4852912