Thursday, October 12, 2023
2 changes
New functionality added to Odoo
Users can now ask the PDF splitter to automatically separate a combined invoice document using OCR results. This reduces manual work by creating the resulting documents and prefilled invoices from the detected content, with user notifications for successful requests or missing OCR credits.
Original PR description
[ADD] account_invoice_extract_documents: auto-split document based on OCR results Integrate the documents split functionality in the client side. Add a button in PDF splitter that creates an OCR request to auto-split a document invoice creating documents and prefilled invoices with the results of the OCR. [https://www.odoo.com/web#id=3377433&cids=1&menu_id=4720&action=333&active_id=2068&model=project.task&view_type=form]
Enhancements to existing features
Odoo now lets teams create reusable activity plans for more business records and launch them for several records at once. This makes follow-up workflows easier to configure and faster to apply across areas such as HR, CRM, projects, subscriptions, documents, field service, and reporting.
Original PR description
Generalize the hr.employee activity plan to any model, allowing to create activity plan that can be launched on any model. The activity can now be created in batch by selecting multiple record in the…
Generalize the hr.employee activity plan to any model, allowing to create activity plan that can be launched on any model. The activity can now be created in batch by selecting multiple record in the list view and then clicking on a "clock" icon in a row similarly to the batch records update (selecting multiple records allows to change for example their name in batch in the list view). We implement also that functionality for the plan, allowing to launch a plan on multiple records at once. We also centralize the launching of activity or activity plan through either the "Activities" button in the chatter or the "clock" button in the view list. Scheduling activity is now taken in charge by a wizard that can schedule a single activity as well as a plan. We add/update tests for checking that the wizard is launched with the right record selection (on a single record or a batch) and add tests for checking the wizard itself. The plan can be defined through an added menu in the technical admin menu but also through configuration menu added in the module crm, project. Technical notes: In the added wizard, to determine that there is a error, we introduce the has_error field because we cannot use easily the error field for that. Indeed, to determine that there is no error, we have to compare it to "<p><br></p>" (more precisely <p><br></p>) which is not handy and may change in the future. This is because when we write False on field error and read it after, we get "<p><br></p>". Instead, we centralize this weird comparison in the model in the compute method of has_error. The ActivityListPopover still displays the activity of the record on which it has been triggered but the button to schedule activity will launch a wizard that create activities in batch for the selected records if more than one was selected. For that, the ActivityListPopover component receives now an additional prop: resIds (selected records) on top of the resId prop (record on which the popup has been triggered). Note that when the line that trigger the popup is not selected, the batch mode is disabled to avoid confusion. We convert the custom plan implementation to use the generic one. As the generic one can define plans for multiple model. We use the check dedicated_to_res_model == 'hr.employee' to activate the specific feature for hr.employee. Indeed, that field contains the model name when the plan is applicable only for one model. Task-3390865