Daily updates from Odoo
Wednesday, March 20, 2024
13 changes · saas-17.1
Enhancements to existing features
This update enhances the way event registration emails are sent, moving them to a background process triggered by a scheduled cron job. This prevents performance bottlenecks when handling large numbers of registrations and ensures a smoother user experience. It also addresses previous issues with duplicate state updates and communication triggers.
Original PR description
This PR introduces a new configuration parameter 'event.event_mail_async' forcing registrations-based communication to be asynchronous. Instead of directly sending communication it triggers the cron to be run as soon as possible. When having large volume of registrations, and especially concurrent registrations it saves a DB to avoid generating tickets and preparing emails synchronously to the registration creation. Task-3764894: Event: Allow using cron triggers for communication Part of Task-3084943: Event: Improve communication scheduler scalability Forward-Port-Of: odoo/odoo#155777
This update automatically sends relevant IoT logs to the Odoo server via HTTP, eliminating the need for manual customer uploads. This improves support efficiency and provides Odoo teams with immediate access to critical IoT data. Administrators can control which logs are sent through the Handlers list page.
Original PR description
Before this commit: IoT logs are kept in an IoT log file. Any time the support would need IoT log information, we are forced to ask the customer to send it to us as it requires to be in the LAN.…
Before this commit: IoT logs are kept in an IoT log file. Any time the support would need IoT log information, we are forced to ask the customer to send it to us as it requires to be in the LAN. After this commit: Relevant* log lines will be automatically send out to the server using an HTTP route. This feature can be toggled within the Handlers list page  preview:  *: Relevant = - Any odoo logs (depending on the level set in the handlers list, see: https://github.com/odoo/odoo/pull/134174 ) - Any other logs (werkzeug, python libraries, etc.) except /hw_proxy/hello Note: IoT logs received by the server will ALWAYS be logged regardless of it level. So an Odoo server set in INFO which receive a DEBUG log from the IoT will log it in its log with the DEBUG level Related enterprise PR: https://github.com/odoo/enterprise/pull/55055 opw-3696519 Forward-Port-Of: odoo/odoo#156605 Forward-Port-Of: odoo/odoo#150920
Resolved issues and error corrections
This update fixes an issue where the mobile menu wasn't correctly navigating users to linked sections on pages. The fix ensures that clicking menu items in mobile view now properly jumps to the intended anchor point, improving the user experience. This resolves a bug that caused unexpected scrolling behavior.
Original PR description
This commit addresses the erratic behavior of the mobile menu, specifically when clicking on menu items linked to anchors instead of navigating to different pages. The issue occurs in mobile view and can be reproduced by following these steps: 1. Create a page longer than the height of the screen with 3 blocks. 2. Add 3 links to target different sections on the page. 3. Create 3 menu items linked to the newly created anchors (/#...). 4. Save to apply the modifications. 5. Switch to mobile view. 6. Open the hamburger menu. 7. Click on the first menu item, then the second, then the third, and again on the first one. Upon reproducing these steps, the scrolling event would pass through all the anchors, causing unexpected behavior. This commit introduces fixes to ensure proper navigation when clicking on menu items in mobile view, resolving the described issue. opw-3652930 Forward-Port-Of: odoo/odoo#150810
This update fixes a calculation error in the Profit and Loss report for UK accounting. Specifically, the type of cost of sales accounts has been changed to 'expense_direct_cost'. This ensures accurate Gross Profit calculations, aligning with UK accounting standards and improving financial reporting.
Original PR description
The cost of sales accounts need to have the type expense_direct_cost for the Gross Profit calculation in the Profit and Loss report to be correct task: 3764767 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#155374
This update resolves an issue where users could interact with the 'load more' button in the Kanban view when the system was running on sample data. This change ensures that the Kanban view functions correctly, regardless of whether it's using live data or a sample dataset, improving user experience.
Original PR description
This commit fixes an issue where one could interract with the load more button of the kanban view even in sample data mode. task-3754233
This update resolves an issue where the profile button wasn't appearing correctly when users and targets were associated with multiple companies. The fix now accurately checks for employee IDs across all companies, ensuring the profile button is displayed as expected for users with complex company relationships.
Original PR description
Currently, when the user and the target both are in multiple companies, the profile button cannot be displayed correctly. Since the employee_id uses `('company_id', '=', self.env.company.id)` rather than `in`.
This commit fixes the issue by checking employee_ids directly and if it is found, the profile button will be displayed correctly.
We don't care about which employee_id is used if there are multiple, since the user are in multiple companies as well. If looking for a specific profile, the employee can be found in the HR application.
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#157741This update fixes an issue where stock receipt quantity updates weren't accurately reflecting internal transfer quantities, particularly with multi-step receipts. The change ensures that quantity updates correctly update internal transfers, improving inventory accuracy. This resolves discrepancies between received quantities and internal stock levels.
Original PR description
Steps to reproduce: - Enable 2 step reciept in warehaouse settings Bug1: - Create and confirm a PO qty = 1 - Open reciept update qty to 4 and validate - The internal transfer qty is updated to 3 (the…
Steps to reproduce: - Enable 2 step reciept in warehaouse settings Bug1: - Create and confirm a PO qty = 1 - Open reciept update qty to 4 and validate - The internal transfer qty is updated to 3 (the difference) Bug2: - In inventory overview create a new reciept and mark it as todo - Update quantity and validate - Internal transfer is not updated Root cause: Initially in version 17 product_uom_qty was changed to indicate the demand before the move is done and it indicates the acutual done qty when the move is done. After https://github.com/odoo/odoo/pull/130342 product_uom_qty will always indicate the demand qty, and qty_done will always indicate actually done quantity. Fix: updating the quantity will create a new move for the difference that is used to trigger new push rule and then merged back in the original when merging product_uom_qty is not updated to keep track of the intial demand but pending linked moves should be updated to reflect the new quantity opw-3708740 Forward-Port-Of: odoo/odoo#156331
The project task progress bar was incorrectly displaying a value of '1' instead of '100' when timesheets were logged. This update corrects a calculation error that was introduced recently, ensuring the progress bar accurately reflects the percentage of time logged on tasks. This improves the visibility and accuracy of task progress for users.
Original PR description
### Steps to reproduce: - Install **Field service** app. - Go to Field Service app and create a new task, with Allocated Time of 5 hours. - In the new ticket, Log 5 hours in the **TimeSheets** tab. - Go to the tasks list. - Notice how the progress bar of the new task shows **1** _instead_ of **100** although 5 out of 5 hours have been logged. ### Investigation: - 8389722b1abdef029799c3c082a44e30dafb24b1 introduced the new **ProjectTaskProgressBarField** component. - 4a93d9aee957dd3feb3db0cb69eb3b8f0f4a4683 introduced a change to calculate the `task.progress` as a _fraction_ instead of a _percentage_ https://github.com/odoo/odoo/blob/7280dd53bc14f7c398c63a1f719987bcab7c257a/addons/hr_timesheet/models/project_task.py#L102 - But the **ProjectTaskProgressBarField** wasn't adapted to that change working with percentage values. opw-3790397
A recent bug preventing users from previewing email templates on mobile devices has been resolved. This update corrects an error within the email marketing module, ensuring that users can accurately see how their templates will appear on mobile devices when using debug mode. This improves the user experience and allows for more effective email campaigns.
Original PR description
Current behavior: --- When trying to preview a mailing template with the debug mode enabled, there is an error: Invalid props for component Steps to reproduce: --- 1. Enable debug mode with assets 2. Go to Email Marketing 3. Create a new Mailing 4. Select a template 5. In the Editor, click on the mobile icon 6. ... 'preview' is not a function Cause of the issue: --- Caused by https://github.com/odoo/odoo/commit/13b3f8af4b55d32912b698ae1672be9e144cb775 opw-3702901 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#153176
This update corrects a formatting issue in the Czech localization for Odoo. It ensures that the Company ID (IČO) is displayed before the VAT ID (DIČ), aligning with Czech reporting standards. The change also clarifies the label for the Company ID to 'Company ID' for better readability.
Original PR description
In Czech republic, the standard is to first render Company ID (IČO), and then to render VAT ID (DIČ). - Changing the position to before (not after), so company ID renders before VAT ID. - Changed label from "ID" to "Company ID" (so it is obvious in what ID it is). Original fixes by @cunivca: odoo/odoo#149339, odoo/odoo#149340, merged into one. Related: https://github.com/odoo/odoo/commit/d0704a19de31e0251d343081ae6b3da9991a248e Forward-Port-Of: odoo/odoo#157993
This update corrects a visual issue where the 'billable' message within the project timesheet was incorrectly positioned. The fix involved refining the system's targeting of the message element, ensuring it appears in the correct location for users. This improves the clarity and usability of the timesheet feature.
Original PR description
Versions: --------- - 17.0 Issue: ------ Message for flag timesheet from project as billable/non-billable is misplaced. Cause: ------ Xpath given for Message placed in sale_timsheet is not very specific. Solution: --------- Give accurate xpath for message div. task-3630449 Forward-Port-Of: odoo/odoo#148880
This update resolves a sporadic failure in a key WebSocket test, ensuring more reliable test results. The fix addresses a timing issue where the test was prematurely evaluating the connection before it was fully established. This improves the overall stability of the Odoo platform.
Original PR description
Before this commit, the `test_websocket_instances_weak_set` was sometimes failing. Indeed, this test doesn't wait for the connection to be fully established before making its assertions. This commit fixes this issue. fixes runbot-55037,55035 Forward-Port-Of: odoo/odoo#157510 Forward-Port-Of: odoo/odoo#157433
This update resolves an issue where a manufacturing smart button was incorrectly displayed during resupply picking for subcontracting orders. The change ensures that this button is hidden, aligning with the intended workflow and preventing potential user confusion. This improves the user experience and data accuracy for subcontracting processes.
Original PR description
Create a [TEST] product: - Routes: - Replenish on Order (MTO) - Buy Assign to [TEST] the following Bill of Material: - BoM Type: Subcontracting - Subcontractors: [Partner] - Components: - [component 1] - [component 2] Components are set up as follows: - Routes: - Buy - Resupply Subcontractor on Order Now create a PO: - Partner: [Partner] - Product: [TEST] Confirm the PO Go to the created resupply picking Issue: there is a smart button for manufacturing The MO should not be visible and the smart button should not be there. opw-3801113