Thursday, July 6, 2023
4 changes
Enhancements to existing features
Time-off requests in Belgian payroll now update related payroll benefits much faster on large databases. This reduces waiting time for HR users when posting time off, improving day-to-day responsiveness without changing payroll behavior.
Original PR description
## Description Taking a time-off in the Time Off application is taking around 7s on a large database. ## Analysis The bottleneck is `_compute_work_entry_dependent_benefits`, especially the query on…
## Description Taking a time-off in the Time Off application is taking around 7s on a large database. ## Analysis The bottleneck is `_compute_work_entry_dependent_benefits`, especially the query on the report `l10n_be.work.entry.daily.benefit. report`. It's making 2 `CROSS JOIN LATERAL`, making an expensive cross product, and filtering afterward based on conditions, that could have been checked during the `JOIN`s, before doing any `CROSS JOIN`. This reduces the total rows that Postgres is manipulating during the query. Moving the conditions earlier in the chain of joins, allows Postgres to make earlier filtering before doing any `CROSS JOIN`. Another issue is the ordering. When searching based a set of employees and a date range, we order based on the default order of the report, but it's never used afterward. We use a `dictfetchall()` so order is irrelevant. Removing the ordering, allows us to ditch the `id` in the `SELECT` of the report, which is an expensive window function doing ordering on potentially many rows. ## Results Posting a time-off passes from 11.13 secs to 16 ms --- task-3387393
Documents for invoice, expense, and recruitment extraction can now be picked up directly by the OCR service when ready, reducing delays caused by shared scheduled jobs. This improves responsiveness for SaaS users while keeping an option to disable the new pull mode if needed.
Original PR description
This commit introduces a new way to send documents to databases which can receive POST request from the OCR server. An issue we currently have with SAAS databases is that they share resources for the…
This commit introduces a new way to send documents to databases which can receive POST request from the OCR server. An issue we currently have with SAAS databases is that they share resources for the crons. This means that the cron sending the documents is not immediately launched whenever it is triggered. This leads to waiting longer than it should. The new introduced way is activated when the webhook is reached by setting the config parameter `iap_extract.extract_can_pull` to `'True'`. When active, it allows the user to make its parse request synchronously, and the server will be able to request the document through the newly introduced `request_attachment` route, whenever it is ready. A new field `extract_date_pull_requested` was added to the mixin to determine if we tried to send the file already and for some reason, there was an issue and then disable the `iap_extract.extract_can_pull`. To force disable the pull mode, the user can edit the system parameter and set it to `False`. When set to this value, it is not toggled back to True. task-3263472 odoo/iap-apps#625
The accounting button label has been updated from “Send for digitization” to “Digitize PDF.” This makes the action clearer for users because the digitization option applies specifically to PDF documents.
Original PR description
We decided to change the name of the account button "Send for digitization" to "digitize PDF" since there is only a digitized options for PDF. task-id: 3326780
Documents users can now use keyboard shortcuts to move through their documents more quickly. This reduces manual clicking and makes everyday document review and organization faster, including when working with document spreadsheets.
Original PR description
This commit add's a new feature that enhances navigation ease by adding a hotkey functionality. Users can now utilize a designated hotkey combination to navigate through the documents effortlessly. Task-3282933