Daily updates from Odoo
Friday, October 3, 2025
15 changes · master
Enhancements to existing features
The signing app's automated checks were updated to match a refreshed error dialog design. This helps ensure the signing flow continues to be reliably tested after the interface change, with no direct change for end users.
Original PR description
The look and feel inspired by commit [1]. Task-5049469 [1]: https://github.com/odoo/odoo/commit/3916020e131008f3d529df61ad88f603874fd7d0
Product categories generated for the website can now include their available cover images. This helps create richer, more visually appealing online shop pages with better category presentation.
Original PR description
Also add the cover_image for the product category if available Forward-Port-Of: odoo/enterprise#96135
This update makes service-related documentation text compatible with the new documentation page, so it can be shown clearly and consistently. It also removes an unused internal method, reducing maintenance overhead without changing day-to-day user workflows.
Original PR description
With the introduction of the /doc endpoint, we should ensure that our docstrings are ReST (ReStructuredText) compliant, so that they can be displayed properly in the documentation. Task-5139767
Resolved issues and error corrections
The Helpdesk community support link now sends customers to the correct forum page instead of showing a page-not-found error. This ensures users can reach community help from a Helpdesk team when the forum option is enabled.
Original PR description
Scenario:
- create a helpdesk team
- enable community forum on it
- go to the team and click on "Ask the community"
Result: 404 error, this page does not exist
Cause: we are using helpdesk.team ID in route needing a forum.forum ID
Fix: uses /helpdesk/{team ID}/forums route instead of /forum/{team ID}
opw-5027193
Forward-Port-Of: odoo/enterprise#96026Helpdesk ticket lists now sort ticket references in a more natural order, even after ticket numbers pass 100. This helps users quickly find the oldest or newest tickets without confusing text-based ordering.
Original PR description
**Issue** With the default `helpdesk.ticket` sequence, once users reach 100 tickets, ordering tickets by `ticket_ref` in the list view is unintuitive as it is a Char field (so '11' > '100') and the results are not useful if the user wants to see the oldest/newest tickets. opw-4891916 Forward-Port-Of: odoo/enterprise#95971 Forward-Port-Of: odoo/enterprise#93058
Creating a new payroll run now opens the employee selection correctly by avoiding an empty reference that was being passed unnecessarily. This helps payroll users start new payruns more reliably without being blocked by a technical form issue.
Original PR description
When creating a new payrun, we were passing the res_id as an argument for self, but it was always falsy. This commit removes the argument such that it uses an empty recordset. task-5130462
Fixed an issue where some action buttons in the payslip list were hidden unless their action was defined in a specific controller. Payroll users can now see the correct available actions, reducing confusion and helping them complete payslip tasks without workarounds.
Original PR description
This commit fixes the display of conditional buttons in the payslips list view. The issue was that only buttons with actions defined in the list controller were displayed. This commit fixes the issue by displaying any button if the action is not specified in the list controller. Forward-Port-Of: odoo/enterprise#96050 Forward-Port-Of: odoo/enterprise#95527
This fix adjusts an accounting test so it no longer fails when account merging takes longer than expected in databases with many companies. It improves test stability without changing how users work with accounting features.
Original PR description
In test_account_merge_wizard_tour, the actual merging of the accounts can take more than 10 seconds if there are a lot of companies. It causes sometimes timeout of the step and so a fail of the tour. runbot-error-233162
This fix corrects the visual styling of the Belgian payroll holiday attest after a recent user experience update used the wrong layout classes. Employees and payroll teams will see the intended presentation, reducing confusion when viewing this document.
Original PR description
We recently fixed the UX of holiday attest but the classes used in xml were wrong. We fix this in this task. Task: 5109176 Forward-Port-Of: odoo/enterprise#95430
The Sign app guided tour was updated so it no longer fails when users drag signature fields onto documents or when an existing saved signature changes the signing flow. This helps teams and testers complete the guided workflow consistently without duplicate signature fields or stalled steps.
Original PR description
Fix `sign_tour`. How to reproduce: 1. Go to tours in Odoo 2. Look up sign_tour 3. Click testing ( If testing stops at Sign App, change search filters or archive sign all .request records so that the…
Fix `sign_tour`.
How to reproduce:
1. Go to tours in Odoo
2. Look up sign_tour
3. Click testing ( If testing stops at Sign App, change search filters or archive sign all .request records so that the following screen displays )
<img width="780" height="591" alt="image" src="https://github.com/user-attachments/assets/b164c224-0e3e-4dce-97e6-89848263e59e" />
4. tour fails!
---
First commit
The `sign_tour` was failing after the conversion of the `sign.Template` client action to OWL. The standard `drag_and_drop` tour helper can no longer be used for automatic tour testing because the drop target is inside an iframe whose content is managed by PDF.js.
This commit fixes the tour by utilizing the custom helper function, `dragAndDropSignItemAtHeight`, to programmatically simulate the drag and drop action.
---
Second commit
The step "footer.modal-footer button.btn-primary:enabled" assumes that the Signature Dialog opened from its previous step ("Sign It" navigation button).
However, the "Sign It" navigation button does not always open the dialog.
If signing user (res.users) already has "sign_signature" data, the data will be automatically filled in to the Signature input.
Otherwise, the navigation button will open the Signature Dialog.
Luckily, we can see whether user has "sign_signature" data or not by checking if the <input data-item_type='signature'/> node has "data-auto_value" attribute or not.
We now skip the step if data-auto_value is set for signature.
---
Third commit
If `sign.template_sign_tour` has sign request, it means that the template might have a sign item because the `sign_tour` tour adds the Signature sign item to the template. (If user followed the tour)
When we're copying the sign template to trigger the template tour, we should not copy the sign item. User will be guided to add the sign item during the tour.
---
Note:
ci/security needs to be overriden as it was done for https://github.com/odoo/odoo/pull/134793#issuecomment-1711440188
---
opw-4752794
Forward-Port-Of: odoo/enterprise#93601
Forward-Port-Of: odoo/enterprise#91565Bank account selection fields now show clearer visual indicators for trusted and untrusted accounts. Trusted accounts display a green shield, while untrusted accounts show a red warning icon, helping users identify payment account status more confidently.
Original PR description
This commit fixes the UI indicator of trusted/untrusted bank accounts in many2one widget. For trusted bank accounts, they are indicated with a green shield. Untrusted bank accounts are indicated with a red exclamation circle. This is a followup of the work done in this PR: https://github.com/odoo/odoo/pull/229298 task-5117800
This change updates an automated test for SEPA payment processing so it follows the current rules for bank account data handling. It helps keep the accounting payment flow reliably tested without changing day-to-day user functionality.
Original PR description
Direct update sanitized_acc_number is not allowed. Forward-Port-Of: odoo/enterprise#95477 Forward-Port-Of: odoo/enterprise#72508
This fixes an automated walkthrough used to verify the bank reconciliation screen. The correction helps avoid occasional false failures during testing, improving release confidence without changing user-facing functionality.
Original PR description
The step checks the non presence of `o_bank_rec_quick_create`. But this element does not exist, as it should be `o_bank_reconciliation_quick_create`. This causes the tour to sometimes fail as we click on unfold before the interface updates from the creation of the line. runbot-error-230727 Forward-Port-Of: odoo/enterprise#95359
Code cleanup and technical improvements
The organizational chart functionality is being folded into the main HR app, simplifying how employee hierarchy features are delivered and maintained. This is an internal restructuring, so users should see the same capabilities with a more consolidated HR setup.
Original PR description
This commit merges the hr_org_chart module into hr. task-4925995
The Planning app’s contract-related Gantt chart code has been moved into the main Planning Gantt area. This keeps related scheduling code together, making future maintenance easier without changing the user-facing planning experience.
Original PR description
After the HR refactoring, `planning_hr_contract` was merged into the `planning` module. However, its JS customizations remained in a separate `planning_contract_gantt` folder. This commit moves that code into the `planning_gantt` folder to centralize all Gantt logic. task-4926655