Friday, June 2, 2023
18 changes · master
Enhancements to existing features
Recruitment demo applicants now include an attached CV, making sample applicant records more complete and realistic. Automatic OCR processing is disabled for these CVs, helping avoid unnecessary automated document scanning in this context.
Original PR description
…able auto OCR task-3254698
Users can now cancel subscriptions that have not yet been invoiced, instead of closing them. This prevents mistaken duplicate subscriptions from being counted as customer churn when the customer is still active.
Original PR description
When 2 subscriptions were started for the same customer by error, it is not possible to cancel one of them, you can only close it but it creates a churn event when it was not a churn as the customer is still there. This PR allow cancelation of subscription that have not been invoiced yet. task-id : 3245825
Documents users can now start a vendor receipt directly from a document workflow action. The option appears only when the Purchase Receipt feature is enabled in Accounting, helping teams process supplier paperwork from the Documents app without extra navigation.
Original PR description
… app PURPOSE ------- - The document user can create a vendor receipt from a document application. SPECIFICATIONS -------------- - Added a new 'vendor receipt' on workflow Actions - The Action is only visible when the 'Purchase Receipt' feature is enabled from the Accounting app. task-3222420
Resolved issues and error corrections
Fixes Studio approval setup so enabling approvals automatically creates the expected first rule. Approval button previews now update when rules change, with minor visual improvements for a smoother configuration experience.
Original PR description
**Retargeted https://github.com/odoo/enterprise/pull/41332** This commit corrects some behaviours or issues caused by the migration to OWL of Studio with regards to the Studio Approvals flow. - When enabling approvals, there should be a new rule added by default. - Preview icons in the button should be reactive, update when the rules are. Some styling has also been fixed and improved. Task id: 3291968
Features or functions removed from Odoo
Publicly shared Knowledge articles no longer display the 'Try Odoo' promotional icon. This creates a cleaner viewing experience for external readers and removes unnecessary related code.
Original PR description
Before this commit, When we share any article the 'Try odoo' icon is displayed to the public user. After this commit, The icon will not be displayed. Remove some redundant code. task- 3338322
Code cleanup and technical improvements
The live chat code in Odoo Enterprise has been reorganized to align with related platform changes. This is an internal cleanup that should make future improvements easier while keeping the current user experience unchanged.
Original PR description
community: https://github.com/odoo/odoo/pull/122834
Miscellaneous changes
Steps to reproduce ================== - Use a mobile (xs) viewport - Go to sign - Click on "Action" -> InvalidButtonParamsError Solution ======== More details in the community PR We also need to add the kanban_ignore_dropdown class opw-3278906 Forward-Port-Of: odoo/enterprise#41805
Original PR description
Steps to reproduce ================== - Use a mobile (xs) viewport - Go to sign - Click on "Action" -> InvalidButtonParamsError Solution ======== More details in the community PR We also need to add the kanban_ignore_dropdown class opw-3278906 Forward-Port-Of: odoo/enterprise#41805
Appraisal publishing now consistently shows the required warning to every user who is allowed to toggle publication, including selected appraisal managers. The update also simplifies manager-related logic and moves shared employee autocomplete data to the employee model for cleaner maintenance.
Original PR description
Behavior before commit: A user without appraisal rights or without being the direct manager of an employee but being selected in the manager_ids of an appraisal could publish it without having the warning like everyone else. Desired Behavior: Any user capable of toggling the publish button should have a warning. Behavior after commit: Computation of is_manager significantly simplified, merged is_appraisal_manager and is_implicit_manager into one field, as there is no difference between them. Employee_autocomplete_ids moved to hr_employee because it's not affected by the appraisal. Any user capable of toggling the button receives the warning first. task 3217812
Since employees can be directly assigned to a workorder (and log time on it), their hourly cost must be factored in when computing the costs of the operations in the MO Overview. Forward-Port-Of: odoo/enterprise#40953
Original PR description
Since employees can be directly assigned to a workorder (and log time on it), their hourly cost must be factored in when computing the costs of the operations in the MO Overview. Forward-Port-Of: odoo/enterprise#40953
On the home menu, there is a hidden input for the search. By default, the input is present but not visible (`.visually-hidden`) and has the focus. When the user clicks elsewhere, the blur event is triggered, and in the Odoo code we force the input to have the focus again. So the focus by default scroll the view on the element. To avoid the bug, we use the focus with the `preventScroll` option to avoid this behavior. Steps to reproduce: * Open Odoo * Enable a tour on CRM (debug mode if neede
Original PR description
On the home menu, there is a hidden input for the search. By default, the input is present but not visible (`.visually-hidden`) and has the focus. When the user clicks elsewhere, the blur event is triggered, and in the Odoo code we force the input to have the focus again. So the focus by default scroll the view on the element. To avoid the bug, we use the focus with the `preventScroll` option to avoid this behavior. Steps to reproduce: * Open Odoo * Enable a tour on CRM (debug mode if needed) * Install many Apps to have a scrollbar in the home menu or resize the window to have a scrollbar in the home menu * Scroll down a bit to have the first row (App) half visible * Click anywhere outside the apps grid (e.g. background). * Window scroll to the top => BUG OPW-3200840 Forward-Port-Of: odoo/enterprise#41827
task - 3244292 Forward-Port-Of: odoo/enterprise#40843
Original PR description
task - 3244292 Forward-Port-Of: odoo/enterprise#40843
This fix aims to allows you to open the cost analisys on BOMS which are configured as subcontracting. Before the fix, if you had a subcontracting purchase order for which you sent all the components but only received a partial amount fo the finished product, a back order would be created. This would in turn create a second MO (which is hidden as its subcontracted). Once all the products received, you end up with two stock moves and two manufacturing orders. The fetch of the unit cost for the re
Original PR description
This fix aims to allows you to open the cost analisys on BOMS which are configured as subcontracting. Before the fix, if you had a subcontracting purchase order for which you sent all the components but only received a partial amount fo the finished product, a back order would be created. This would in turn create a second MO (which is hidden as its subcontracted). Once all the products received, you end up with two stock moves and two manufacturing orders. The fetch of the unit cost for the report would send back an 'expected singleton' traceback as there are multiple stock moves for the initial production. With this fix we loop through the production_ids that are given in paramater of the function and the stock moves as well, out of safety (even though there is already a filter to avoid byproducts - you never know). OPW-3318933 Forward-Port-Of: odoo/enterprise#41582
task - 3299188 Forward-Port-Of: odoo/enterprise#41758 Forward-Port-Of: odoo/enterprise#40998
Original PR description
task - 3299188 Forward-Port-Of: odoo/enterprise#41758 Forward-Port-Of: odoo/enterprise#40998
This commit fixes a selector in the mrp workorder tour (missing closing "]"). Forward-Port-Of: odoo/enterprise#41807
Original PR description
This commit fixes a selector in the mrp workorder tour (missing closing "]"). Forward-Port-Of: odoo/enterprise#41807
Before: - The module uses literal_eval to parse data. - In normal use of the module, the buffer exceeds the limit of 100 Kib and causes Python to crash. After: - The module uses safe_eval to parse data. - The change is made to avoid the issue described above and ensure that the module works as expected. Pr that sets the limit to 100Kib: https://github.com/odoo/odoo/pull/121530. Forward-Port-Of: odoo/enterprise#41635 Forward-Port-Of: odoo/enterprise#41491
Original PR description
Before: - The module uses literal_eval to parse data. - In normal use of the module, the buffer exceeds the limit of 100 Kib and causes Python to crash. After: - The module uses safe_eval to parse data. - The change is made to avoid the issue described above and ensure that the module works as expected. Pr that sets the limit to 100Kib: https://github.com/odoo/odoo/pull/121530. Forward-Port-Of: odoo/enterprise#41635 Forward-Port-Of: odoo/enterprise#41491
Before this commit, some listViews were considered editable by studio, yet, clicking on Add custom field would trigger an error when actually entering studio. This was caused by a faulty computation of whether or not the current list view was editable. After this commit, the button add custom field should appear only if it is actually editable. opw-3264048 Forward-Port-Of: odoo/enterprise#41508
Original PR description
Before this commit, some listViews were considered editable by studio, yet, clicking on Add custom field would trigger an error when actually entering studio. This was caused by a faulty computation of whether or not the current list view was editable. After this commit, the button add custom field should appear only if it is actually editable. opw-3264048 Forward-Port-Of: odoo/enterprise#41508
The subquery to search for records having a certain company id uses a left join. When the where clause includes `company_id IS NULL` the join will keep all the 'data_merge_record' records even if they have a different res_model_id than the model we are joining with. To limit the results to the target model in each subquery, we can add the res_model_id again in the where clause and filter out the wrong records. example when there are 2 res_models in data_merge_record: before: ```sql
Original PR description
The subquery to search for records having a certain company id uses a left join. When the where clause includes `company_id IS NULL` the join will keep all the 'data_merge_record' records even if…
The subquery to search for records having a certain company id uses
a left join. When the where clause includes `company_id IS NULL` the
join will keep all the 'data_merge_record' records even if they have a
different res_model_id than the model we are joining with.
To limit the results to the target model in each subquery, we can add
the res_model_id again in the where clause and filter out the wrong records.
example when there are 2 res_models in data_merge_record:
before:
```sql
SELECT dmr.id
FROM data_merge_record dmr
LEFT JOIN "res_partner"
ON dmr.res_model_id = 79
AND dmr.res_id = "res_partner".id
WHERE (("res_partner"."company_id" in (1)) OR "res_partner"."company_id" IS NULL)
UNION
SELECT dmr.id
FROM data_merge_record dmr
LEFT JOIN "crm_lead"
ON dmr.res_model_id = 727
AND dmr.res_id = "crm_lead".id
WHERE (("crm_lead"."company_id" in (1)) OR "crm_lead"."company_id" IS NULL)
```
Here we can still return results from res_partner and crm_lead that have companies different than (1).
After:
```sql
SELECT dmr.id
FROM data_merge_record dmr
LEFT JOIN "res_partner"
ON dmr.res_id = "res_partner".id
WHERE ((("res_partner"."company_id" in (1)) OR "res_partner"."company_id" IS NULL))
AND dmr.res_model_id = 79
UNION
SELECT dmr.id
FROM data_merge_record dmr
LEFT JOIN "crm_lead"
ON dmr.res_id = "crm_lead".id
WHERE ((("crm_lead"."company_id" in (1)) OR "crm_lead"."company_id" IS NULL))
AND dmr.res_model_id = 727
```
Forward-Port-Of: odoo/enterprise#41754
Forward-Port-Of: odoo/enterprise#41103Due to the implementation of milk, a separation between the frontend and backend bundles has been introduced. This separation requires an update to the pos_preparation_display manifest in order to ensure proper design functionality. task-3254084 Forward-Port-Of: odoo/enterprise#41728
Original PR description
Due to the implementation of milk, a separation between the frontend and backend bundles has been introduced. This separation requires an update to the pos_preparation_display manifest in order to ensure proper design functionality. task-3254084 Forward-Port-Of: odoo/enterprise#41728