Thursday, November 9, 2023
3 changes · 17.0
Resolved issues and error corrections
This update fixes several issues that could confuse users or show outdated information, including manufacturing order components not refreshing correctly, form values not reverting after validation errors, bank onboarding not updating the dashboard, invoice emails not using the customer's language, and website translations not appearing consistently. These changes improve day-to-day reliability across production, accounting, and website workflows.
Original PR description
Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update significantly speeds up the coupon generation process in the Helpdesk module by eliminating duplicate email notifications. Previously, coupon emails were being sent twice—once when the coupon was created and again when the user sent it to the customer. By removing the automatic email on creation, the system now lets users control when the coupon is communicated, reducing processing time from 2.4 seconds to 0.09 seconds per operation.
Original PR description
In this PR, reducing generate coupon performance cause it is sending generated coupon mail twice when coupon is created and if user send coupon to partner. Query Execution time Before : 311 2.4421675205230713 After: 92 0.08694791793823242 task: 3460049 Forward-Port-Of: odoo/enterprise#49818 Forward-Port-Of: odoo/enterprise#46302
This fix corrects how total hours are calculated for open shifts in the Planning module. Previously, when creating an open shift (e.g., 2PM to 8PM showing 6 hours), the total row would incorrectly display 3 hours instead of matching the shift duration. The fix ensures that open shifts and flexible-schedule resources now properly calculate their total allocated hours.
Original PR description
Steps: In Planning, create an open shift from 2PM to 8PM. Note that the pill will display "2:00 PM - 8:00 PM (6h)", which means that 6h are allocated. For shifts with a resource that have a fixed…
Steps: In Planning, create an open shift from 2PM to 8PM. Note that the pill will display "2:00 PM - 8:00 PM (6h)", which means that 6h are allocated. For shifts with a resource that have a fixed scheduled (shift.resource_id.calendar_id != False), this value is computed by finding the intersection of its calendar and the shift. However, for shift with resource that have a flexible schedule (shift.resource_id.calendar_id == False) or, in this case, open shifts (shift.resource_id == False), this value is just the duration of the shift, maxed to the company calendar's "hours per day". Issue: The "Total" row's value is "03:00", where it should have the same value as the shift. Causes: - `gantt_resource_work_interval` returns a dict where "no resource" is not considered as flexible hours. As explained earlier, it should. - When we want to access this dict on client-side, we don't handle the case where `record.resource_id` is false, rather than a tuple. task-3412654 Forward-Port-Of: odoo/enterprise#50252 Forward-Port-Of: odoo/enterprise#43675