Friday, October 17, 2025
12 changes · saas-18.4
Resolved issues and error corrections
This update ensures accounting localization tests always run with the required sample data installed. It helps keep automated testing consistent across versions and reduces the risk of test failures caused by missing setup data.
Original PR description
In later versions, we improve the testing suite to avoid having to install demo data in order to reduce the testing time. In order to keep the testing configuration simple across versions, we force the installation of demo data instead of only asserting that demo is installed before launching the script. Forward-Port-Of: odoo/odoo#231925 Forward-Port-Of: odoo/odoo#231660
The website SEO Auto-Fill action now works correctly on system pages such as login, signup, password reset, and donation payment pages. This prevents an error from interrupting users and allows SEO fields to be filled as expected.
Original PR description
Steps to Reproduce: 1.Go to the website and open a system page such as: /web/login /web/signup /web/reset_password /donation/pay 2.In the top menu, go to Site → Optimize SEO. 3.Click the Auto-Fill button. 4.Observe that a traceback appears. Before this commit: Clicking the Auto-Fill button caused a traceback error because pageTextContentEl was null due to wrong selector. As a result, getElementsByTagName could not be accessed. In this commit: We provide the correct querySelector value so that pageTextContentEl properly references the intended DOM element. This fix prevents the error and ensures that the SEO Auto-Fill button works correctly, populating all required fields without issue. task-4974618 Forward-Port-Of: odoo/odoo#220769
The payslip export option that led users to a missing page has been disabled in Payroll. This prevents confusion and avoids a 404 error when working with payslip records in debug mode.
Original PR description
Steps to reproduce: ------------------------- 1. Install `hr_payroll` module 2. Enable debug mode and click on Become Superuser 3. Go to All Payslips and open any payslip record 4. Click on the…
Steps to reproduce: ------------------------- 1. Install `hr_payroll` module 2. Enable debug mode and click on Become Superuser 3. Go to All Payslips and open any payslip record 4. Click on the Export Payslip button Observation: ------------------------- A 404 (Page Not Found) error appears when clicking the Export Payslip button Issue: ------------------------- The button triggers the route `/debug/payslip/<id>`, which was removed in the following commit https://github.com/odoo/enterprise/commit/57969bcaf876a13c36794adeb47e0da938e297ad#diff-0105b1a6a9e742e7eeaf7cc727745ebd3932177378d46332d4ca854f931b3359 The route was never reintroduced afterward, but the Export Payslip button remained in the view. As a result, clicking it leads to a 404 error Solution: ------------------------- 1. Temporarily bypass the `action_export_payslip` function. 2. Remove the Export Payslip button from the XML in the master forward port branch, as doing so does not impact any existing customizations relying on that button opw-5115946 Forward-Port-Of: odoo/enterprise#97361 Forward-Port-Of: odoo/enterprise#96359
This fixes a display issue in mass mailing emails where dynamic placeholders could move onto their own lines after a mailing became read-only, such as after being sent. Sent mailing content now keeps placeholders in the intended position, preserving the original email layout for recipients and reviewers.
Original PR description
In editable fields, the Web Editor currently adds the data-oe-t-inline attribute to items that are identified as needing to be displayed inline However, this attribute is added by the editor and removed on save. As a result, if the previously-editable field is ever set to readonly (for example: a mailing that is sent no longer allows users to edit its body), then the inline property appears to be lost: an inline dynamic attribute suddenly looks like it's on its own line. Steps to reproduce: - Create a mailing - Add a dynamic attribute in the middle of a line - Send the mailing - You will see a carriage return directly before and after the dynamic attribute Fix: The mass_mailing html field now applies the current inlining logic to readonly HTML. task-4852246 Forward-Port-Of: odoo/odoo#227651
This fix ensures French VAT report submissions to ASPOne use the correct character limits for company name and address fields. It helps prevent rejected or invalid XML-EDI filings caused by fields being too long or incorrectly split.
Original PR description
The aim of this commit is making sure that the field Designation, DesignationSuite1, DesignationSuite2, AdresseVoie and AdresseComplement are correctly filled. Indeed, the XSD implied that these fields have to be respectively 35, 35, 35, 30 and 35 characters max. [Documentation 2025](https://www.aspone.fr/files/tutoriaux/xmledi/Documentation_XML-EDI.zip) no task id Forward-Port-Of: odoo/enterprise#97335 Forward-Port-Of: odoo/enterprise#97199
Customers and staff now see the correct message when a package is too heavy for all available Sendcloud shipping methods. This prevents an unexpected system error and helps users understand why delivery cannot be processed.
Original PR description
When a package exceeds the maximum weight supported by all shipping methods, the system raised an error (`KeyError: 'name'`) because the `stock.move` field was removed in commit #211488. This fix replaces the deprecated `stock.move.name` reference with the product name to correctly display the overweight message. opw-5137167
This fixes internal website testing helpers so plugins are included consistently, including when testing translation mode. The change helps prevent missed test coverage and improves confidence that website translation features behave correctly.
Original PR description
[FIX] website: always add plugin with test helper addPlugin and similar The test helper `addPlugin` and other similar helpers added the plugin with the registry entry `website-plugins`. This entry is not used in translate mode, thus the plugins added were not present for tests about translate mode. To also add the plugin for tests of translate mode, this commit changes the implementation of `addPlugin` to patch `WebsiteBuilder` instead. It also changes the implementation of other helpers that were doing the same things to instead call `addPlugin`. task-5176469
Project sharing pages now display tags in the same light style as the rest of the interface. This removes a visual inconsistency that could make shared project views look less polished or harder to read.
Original PR description
Before this commit, the project sharing was using the dark style for tags even though the rest of the views are in light mode. Removing the tags_list.dark.scss file from the imported file in the manifest fixes this issue. task-5130176 Forward-Port-Of: odoo/enterprise#96751
Administrators can now retry or cancel SMS messages sent automatically by the system without running into an access error. This helps support and operations teams resolve failed delivery or notification messages directly from technical settings.
Original PR description
## Issue: In debug mode, the administrator could not resend or cancel an SMS that was sent by the system (e.g. delivery confirmation) using the `Retry` / `Cancel` button in the Technical Settings An…
## Issue: In debug mode, the administrator could not resend or cancel an SMS that was sent by the system (e.g. delivery confirmation) using the `Retry` / `Cancel` button in the Technical Settings An Access Error was raised ## Cause: When using the `Retry` or `Cancel` button, the method `_update_sms_notifications()` is called and finds `mail.notifications` records to update However, `notifications.write()` triggers an Access Error because only the recipient of a `mail.notification` is allowed to modify it: https://github.com/odoo/odoo/blob/98610ea2a1369b84b10adb8913c5d7725a0fad67/addons/mail/security/mail_security.xml#L184-L192 This happens even when the user has the rights to resend or cancel the SMS ## Steps to reproduce: - Install an app like stock_sms to create blocking entries - Create and confirm a Delivery - Choose Send SMS - Enable developer mode - Search for the technical settings SMS - Retry sending the automatically sent SMS opw-4904157 Forward-Port-Of: odoo/odoo#230733
This fix prevents certain automatically created document attachments from being uploaded to external cloud storage. It helps ensure files needed by document-related business processes remain handled in the expected local document flow.
Original PR description
Some models' attachments will automatically become document attachments which may be used in business code of documents. This commit avoids uploading these attachments to the cloud storage. 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 Forward-Port-Of: odoo/odoo#231628
The website team section now only applies avatar sizing rules to team member photos, not to images added in descriptions. This prevents description images from being incorrectly resized on mobile pages, improving the visual presentation for visitors.
Original PR description
Scenario:
- Add s_company_team snippet ("Meet our team" with avatar side by side
with description)
- Add an image in the description (small or big)
- See the page with mobile
Result: all images in the description get a fixed 50% max-width (from
18.0 a 8rem height) which was only meant for the avatar image.
Fix: be more specific with the selector to target only the avatar. The
selector .row.s_col_no_resize > .o_not_editable img.o_editable_media
should only target the intended avatar.
opw-4997932
Forward-Port-Of: odoo/odoo#231793
Forward-Port-Of: odoo/odoo#225412Restaurant floor plans now place tables correctly when staff drag them on tablets or mobile devices. This prevents layout mistakes and makes table management smoother on smaller screens.
Original PR description
Task: [#4383744](https://www.odoo.com/odoo/project/1737/tasks/5045938) --- On mobile and tablet devices, the floor plan removes top and left padding to position tables closer to the top-left corner and avoid unnecessary scrolling. However, dragging a table did not take these offsets into account, resulting in incorrect placement during the action. Forward-Port-Of: odoo/odoo#231042