Tuesday, September 8, 2026
5 changes · saas-18.4
Resolved issues and error corrections
Website forms that create field service tasks now correctly keep the submitted phone number for logged-in portal users. This helps staff see customer contact details on the task while still preventing users from changing other customers' information.
Original PR description
# How to reproduce - Install Field Service - Add a form on the Website - Set the form's action to "Create a Task" - Create a new internal/portal user - Login as that user - Submit the form with the required data and a phone number - Inspect the created task as an admin # Issue partner_phone is empty # Cause If the form alters an existing user, we prevent any edition of that user : https://github.com/odoo/odoo/blob/615e54ecd2722433953931e1d51be15b069288c3/addons/website_project/controllers/main.py#L52-L59 # Proposed Solution The PO asked for the following : - if the task is submitted by a portal user -> show the number in partner_phone - if the task is submitted by a public user -> show the number in the description BUT, for security reason, we can't let a user edit any other user. So we limit the assignation to partner_phone only when the current user correspond to the edited partner opw-6374641 Forward-Port-Of: odoo/odoo#285065
This fixes an issue in the website editor where clicking inside a navigation link moved the text cursor to the start of the link. Editors can now place the cursor exactly where they click, making link text editing smoother and less frustrating.
Original PR description
Problem: Clicking inside a navigation link in website builder causes the caret to jump to the start of the link element. Cause: `LinkPlugin` unconditionally reset the selection to the start of non-editable link elements, ignoring whether the anchor node was inside an editable child element. Solution: Do not reset selection if the anchor node is inside a `contenteditable` element. Steps to reproduce: - Open website builder. - Click inside a navbar link to place the caret. => Caret no longer jumps to the start of the link. opw-6535386 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Delivery failure messages now display the configured outgoing mail server name instead of showing 'None'. This makes email troubleshooting clearer for administrators and support teams when an SMTP server rejects a message.
Original PR description
Steps to reproduce: 1. Run a local SMTP server that responds with a server error. The server file is provided in the task [refuse_smtp.py](https://github.com/user-attachments/files/27166855/refuse_smtp.py) 2. Create an outgoing server for this SMTP server 3. Send an email Issue: The delivery failure reason displays Mail delivery failed via SMTP server 'None' instead of the configured server name. Cause: ir.mail_server.send_email() builds the failure message from the smtp_server argument, but in the common path the mail is sent via mail_server_id. In that case, the actual SMTP server is resolved in connect(), while smtp_server remains unset, so the error message shows None. Solution: Store the resolved server label on the SMTP connection when opening it, and reuse that value when formatting send failures. opw-6139168 Forward-Port-Of: odoo/odoo#280750 Forward-Port-Of: odoo/odoo#261776
The spreadsheet insertion dialog no longer shows an unnecessary horizontal scrollbar, especially on smaller screens. This makes the dialog easier to use and keeps scrolling behavior consistent within the modal.
Original PR description
Opening "Insert in Spreadsheet" displayed an unwanted horizontal scrollbar in the spreadsheet selector. On small viewports, it could also produce a second scrollbar alongside the scrollable modal. The selector reused the `o-spreadsheet-templates-dialog` class, whose styles belong to `documents_spreadsheet`. This applied template-only max-height and overflow rules to the selector and made `spreadsheet_edition` rely on styles from a dependent module. Give selector dialogs their own class and keep the template-specific styles on the template dialog. Move the shared pager layout to `spreadsheet_edition` under a dedicated class, and update both pager consumers and the dashboard document selector. Task: 6526781 Forward-Port-Of: odoo/enterprise#130114
Code cleanup and technical improvements
The accounting test suite was tidied by removing duplicate helper code and outdated commented test sections. This has no direct effect on users, but it makes future maintenance easier and reduces the chance of confusion for developers working on accounting features.
Original PR description
This commit cleans up the test suite within the `account_accountant` module by removing redundant methods and old commented code. no-task Forward-Port-Of: odoo/enterprise#130644