Daily updates from Odoo
Wednesday, August 6, 2025
13 changes · master
Enhancements to existing features
Field service task users can now open the related Helpdesk ticket directly from a dedicated button on the task. This reduces clicks and makes it easier to move between field service work and customer support details.
Original PR description
Currently, the user opens the linked ticket from the chatter in the FSM task.In this commit, we have added a stat button to allow easy redirection to the ticket. task - 4638988
Menu items in Appointment and Sales Dashboard now use clearer, more readable web addresses. This makes links easier for users to understand, share, and recognize when navigating the website.
Original PR description
`*` = website_sale_dashboard Previously, menu item URLs for actions were not user-friendly or readable. Since we now support pretty URLs, this commit updates the above modules to use clean, readable URLs for their menu items. task-4700261
Users can no longer change DTMF tones that have already been sent during a VoIP call. This keeps phone keypad input accurate by only allowing new tones to be added from the softphone keypad.
Original PR description
The already sended DTMF signal can't be changed. In this commit, we ignore the useSelection effect when sending DTMF, user can only append new value to sended vulues. we also make the input readonly so that user can only send DTMF from the softphone keypad, since normally DTMF only support "123456789*0#" Forward-Port-Of: odoo/enterprise#91692
Resolved issues and error corrections
This fix prevents an error from appearing when a helpdesk user clears the delivery field while returning a product. It keeps the return workflow stable and lets users select a valid delivery before the system recalculates return details.
Original PR description
step to reproduce : create a sales order with a service and a consumable product deliver the consumable product enable the 'returns' feature on your helpdesk team create a helpdesk ticket in this team select the customer and the SOL you created click on return empty the delivery field => traceback source of the issue : Setting the delivery_id field to false triggers a compute, in which an ensure one is later call on the delivery_id. Since the delivery is empty, it triggers an error. Solution : The field 'delivery_id' is required. So we can simply prevent the execution of the compute when the delivery is set to false and wait for the user to put a new value to trigger the compute correctly. task - 4935957 Forward-Port-Of: odoo/enterprise#90496
Fixed an issue where the Documents details panel could keep showing a previously selected document after users cleared the selection with the control panel. This keeps the panel in sync with the user's current selection and avoids confusion when managing documents.
Original PR description
The details panel does not update when clearing the selection through the control panel. Steps to Reproduce: ==================== - Open the detailsPanel. - Select a document. - Click on a blank space, which removes the current selection. - Re-select a document. - Click the ‘x’ button on the control panel to clear the selection. - The document selection in the detailsPanel does not get cleared. Technical =========== In DocumentsRightPanel and how DocumentsDetailsPanel is handled, The panel relies on the `state.focusedRecord` to determine which record's details to display. However, when clicking the ‘X’ button in the control panel to clear the selection, the `state.focusedRecord` is not being Updated or cleared, the detail panel still shows the previously focused record. After this PR: Clicking the ‘x’ will properly clear the selection from the detailsPanel. Task-4752944 Forward-Port-Of: odoo/enterprise#91151 Forward-Port-Of: odoo/enterprise#85272
This update keeps automated Knowledge app tests working after an internal change to how embedded videos are displayed. It helps maintain product reliability without changing the user-facing Knowledge experience.
Original PR description
Before this commit: - The EmbeddedVideoComponent used a dedicated subcomponent VideoIframe to render the iframe. - The tour test patched this VideoIframe component to mock iframe behavior during tests. After this commit: - Now, the VideoIframe subcomponent was removed and the iframe rendering was moved directly into the template of EmbeddedVideoComponent. - To adapt, this commit now patches the template of EmbeddedVideoComponent directly in the tour to preserve test behavior. community-https://github.com/odoo/odoo/pull/208366 task-4742547
This change fixes an internal test setup so barcode inventory checks no longer depend on sample demo data being present. It helps keep quality checks reliable and reduces false failures during development, with no direct change for everyday users.
Original PR description
Add group 'stock.group_production_lot' to user to enable lots/SN runbot-error-230495 Forward-Port-Of: odoo/enterprise#91709
Changing the date of a recurring shift in Sale Planning no longer leads to a missing record error. This helps teams safely update recurring schedules without interruptions or failed saves.
Original PR description
Version: 17.0 Steps to reproduce: - Install sale_planning - Create a recurrence shift. - Change the date of second shift which is created by recurrence. - Give the edit value as All shifts. - save record, missing error occured. Issue: When a user changes the date of a shift created by recurrence, the system crash with the message, "Record does not exist or has been deleted." Cause: There was an issue between "Planning" and "Sale Planning". When a user moves a shift, "Planning" removes the old shift from the system except the first one, But 'sale planning' was still trying to work with that removed shift. Fix: Now, after 'Planning' does its work, 'Sale Planning' checks again to see that shifts are still there. It only works with shifts that actually exist. So crash no longer happens. Users can now safely change the date of recurring shifts without errors. task-4859892 Forward-Port-Of: odoo/enterprise#91236 Forward-Port-Of: odoo/enterprise#88234
This fix removes duplicated rental planning logic and keeps the intended behavior in one place. It reduces the risk of inconsistent planning results for rental orders and makes future maintenance safer.
Original PR description
Before this commit, since the merge of #91164, `_planning_slot_vals_list` method is duplicated in sale_renting_planning/models/sale_order_line.py file. This commit merges the both methods together to keep the behavior added in the one initially introduced before the fix merged. Forward-Port-Of: odoo/enterprise#91696
A test for partner account batch payments now correctly handles cases where the Accountant app is not installed. This helps keep automated checks stable without changing day-to-day user behavior.
Original PR description
**Issue:** "test_partner_account_batch_payments" test may fail when "accountant" module is not installed. **Solution:** Handle the case when "accountant" module is not installed separately as it is done in previous versions. runbot-230480 Forward-Port-Of: odoo/enterprise#91621
Searching for loans in the Loan Analysis view now uses the correct loan field, preventing an error screen from appearing. This helps finance users search loan records reliably without interruptions.
Original PR description
Behaviour before this commit: While searching for 'Loan' in the Loan Analysis view, a traceback appears since the filter_domain for the search is on `name` but `name` is not present in account.loan.line, instead it is `loan_name`. Desired behaviour after this commit: The filter_domain for 'Loan' is updated to search for `loan_name` instead of `loan`, and domain for `display_name` is removed. TaskID:4991369 Forward-Port-Of: odoo/enterprise#91637
DHL shipment requests now use the commodity code field name expected by DHL's API. This helps prevent shipment creation issues when commodity code information is included.
Original PR description
Changed the field name in commodityCodes from `code` to `value` to match with DHL API documentation. Check ticket log notes for details of DHL documentation. opw-4892324 Forward-Port-Of: odoo/enterprise#91645
This update corrects an import error that could cause Amazon sales integration code to crash. It helps keep Amazon account workflows stable after a prior technical change.
Original PR description
Follow up of commit https://github.com/odoo/enterprise/commit/06125d630d8d9a8a969297a7e4ef75f76f47c156 that changed the import for url_join. This commit mistakenly affected other related imports causing crash of code. Issue: - 'url_encode' is imported from urls of odoo.tools where it does not exist Fix: - 'url_encode' is simply imported from 'werkzeug.urls' Related Community PR: https://github.com/odoo/odoo/pull/221519 opw-4987797