Friday, December 5, 2025
7 changes · 17.0
Enhancements to existing features
This update ensures that newly imported partner records are automatically identified as 'companies' within Odoo. This is crucial for accurate accounting and reporting related to electronic invoices (UBL-CII) and simplifies the process of matching imported transactions with company data. It addresses a previous issue where imported partners weren't correctly categorized.
Original PR description
Ensure imported partner records are marked as companies when creating new partners. Task-5353923 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Resolved issues and error corrections
This update resolves a rare issue where Odoo would crash when attempting to schedule messages without a linked model. The fix ensures that necessary variables are always defined, preventing these scheduling errors and improving overall system stability. This change primarily impacts the mail functionality.
Original PR description
In rare case when we would like to schedule messages without model a variable is not defined in that scope. Forward-Port-Of: odoo/odoo#238762
This update ensures the Frontdesk kiosk always displays the correct company logo. Previously, switching companies caused a display issue due to a permissions problem. The fix automatically includes the selected company in the kiosk's access settings, resolving the logo display issue.
Original PR description
When switching companies in a Frontdesk station and opening the kiosk URL, the company logo does not appear. **Steps to produce:** - Install the `frontdesk` module. - Ensure the database has at least…
When switching companies in a Frontdesk station and opening the kiosk URL, the company logo does not appear. **Steps to produce:** - Install the `frontdesk` module. - Ensure the database has at least two companies, each with a logo configured. - `Enable multi-company` access (user has access to all companies). - Open any Frontdesk station configuration and change the company to one different from the currently active company. - Copy the kiosk URL and open it in an incognito/private window. - The kiosk opens, but the company logo is missing. **Issue:** - Company logo not comes on frontdesk kiosk. **Root cause:** - When the kiosk URL is accessed, Odoo logs an `Access Denied by record rules`. - This happens because the selected company on the station is not included in the `Public User’s companies`. - As a result, the public user cannot read the company record, so the logo does not load. **Solution:** - Added an `onchange` on `company_id` to automatically include the selected company in the Public User’s `company_ids` if it is not already present. - This ensures the kiosk always has access to correct company record and logo. - Also added an XML-side fix to prevent an access error that occurs when a company is not activated and we attempt to select it in the company field. **Before:** <img width="500" height="500" alt="frontdesk_image_before" src="https://github.com/user-attachments/assets/b002ac6e-5271-4561-bf03-542a3feeefd1" /> **After:** <img width="500" height="500" alt="frondesk_image_after" src="https://github.com/user-attachments/assets/7b5bffe4-ccbf-48f5-ad9c-d5e6d2e7678e" /> **opw-5138980**
This update resolves an issue where removing a video URL in the website editor would create a broken link, leading to a 404 error. The fix ensures that the 'Add' button is disabled when a video URL is empty, preventing the creation of invalid links and improving the user experience. This ensures consistent and functional video embedding.
Original PR description
*=website **Steps to reproduce:** 1. Drop a video 2. Reopen the media dialog 3. Remove the URL 4. Confirm **Issue:** When the URL was removed and confirmed, an iframe without a valid source was saved, leading to a 404 error. **Fix:** When the video URL is cleared, VideoSelector component calls selectMedia with an empty object. MediaDialog did not previously handle this case, so the media selection was not cleared. Now we Update MediaDialog to treat an empty object as a clear-selection signal and disable the Add button accordingly. task-5190485
This update resolves an issue where trailing spaces were automatically removed from config parameters, even when the 'trim=False' setting was intended to prevent this. This restriction limited the ability to create parameters with separators like '; ' for reporting and other configurations. The fix ensures that whitespace is handled correctly according to the 'trim=False' setting, allowing for more flexible configuration options.
Original PR description
Description of the issue/feature this PR addresses: Allow creating config_parameters in res.config setting, with trailing whitespace, by using the 'trim' attribute already existing in Char fields. This problem may also exist in other versions, but has currently only been tested in Odoo 17. Current behavior before PR: When creating a config_parameter all trailing whitespaces are removed even when the field specifies trim=False, which is meant to allow trailing whitespaces. This restricts the creation of separator config_parameters e.g for name computations, qweb reports, etc. Desired behavior after PR is merged: When creating a config_parameter all trailing whitespaces are removed by default, to avoid bugs. However when the field has specified trim=False, the whitespace is not removed as per the original intention of the attribute. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update fixes an issue where large .docx files weren't being correctly identified by their file type. The change increases the amount of data sent to the mimetype guesser, ensuring accurate detection, particularly when the python-magic library is used. This prevents misinterpretation of file types and ensures proper handling of documents like Word files.
Original PR description
### Description of the issue/feature this PR addresses: The current number of bytes (1024) sent to the mimetype guesser function is not enough for a correct guess on big .docx files (maybe other open…
### Description of the issue/feature this PR addresses: The current number of bytes (1024) sent to the mimetype guesser function is not enough for a correct guess on big .docx files (maybe other open office files too) whenever `python-magic` is installed. If `python-magic` is not installed, it falls back to a [simpler implementation (by odoo)](https://github.com/odoo/odoo/pull/233266/files#diff-706296f6593337a9ff88c0e33e0e090eec75f63a22f9825dd31833ba17922840R145) that actually works correctly. But in odoo.SH it seems that `python-magic` is always installed and in that case, it returns the mimetype "application/zip" for big .docx files. The issue is not reproducible in runbot, so I'm assuming `python-magic` is not present in that environment. I've tested it with double the amount of bytes and it seems to work correctly. Please check the [following ticket](https://www.odoo.com/odoo/project.task/5125592) for more details. ### Current behavior before PR: <img width="1141" height="674" alt="image" src="https://github.com/user-attachments/assets/a3d28757-c55a-4b0f-9ee5-042777943635" /> ### Desired behavior after PR is merged: The uploaded file's mimetype is correctly identified for big (>40mb) open office files. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update resolves an issue where shipping labels for FedEx deliveries were missing the company name. The fix ensures the company name from the ecommerce form is correctly used, resulting in accurate shipping label generation and improved order fulfillment. This addresses a data inconsistency impacting delivery accuracy.
Original PR description
Steps to reproduce: - install ecommerce (i.e. website_sale) and delivery_fedex_rest - setup demo payment + fedex delivery method (including publishing it) - open the db while not logged in (i.e. in private browsing) - add something in the ecommerce page to cart + checkout > checkout - type in random contact info INCLUDING "Company Name" - continue checkout > select FEDEX as delivery method > pay now - go to Sales App > Sale orders > open the SO generated by ecommerce - open delivery + validate Expected result: - Shipping label with the name + company name from the ecommerce form Actual result: - company name is missing Issue is due to a company not being generated by ecommerce. Instead a string field is filled in (which is not visible when creating a contact directly via the contacts app). Code has been adapted to consider this use case. opw-5119089