Monday, April 7, 2025
9 changes · 18.0
Resolved issues and error corrections
This fixes an issue where the website pages board view could fail when a database had only one website. Users managing a single website can now open and use the pages view normally, reducing disruption for content management.
Original PR description
Description of the issue/feature this PR addresses: Kanban view of the website pages not working (opw-4651572) Current behavior before PR: The kanban view was not working if the database only contains one website because of the group multi-website not set on the users so the t-if="record.website_id.value" cannot be evaluated. Desired behavior after PR is merged: The group attribute is now set correctly on the parent div so the if statement is working properly --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix keeps long questions and answers from overlapping the wizard when users drag items by the handle. It improves readability and makes the drag-and-drop experience smoother in list views.
Original PR description
**Before this commit:** Long question and answers overlap the wizard while dragging with the handler. **After this commit:** Long question and answers do not overlap the wizard while dragging with handler. task-4452311 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Fixes an editor issue where changing an internal link between HTTP and HTTPS could trigger an error. Links now use the current page protocol, improving reliability and avoiding mixed-content problems for users editing content.
Original PR description
### Current behavior before PR: - Changing the protocol (http ↔ https) of an internal link in the editor caused a traceback due to a failed fetch request. ### Desired behavior after PR is merged: - The URL now always follows the current page's protocol, preventing mixed content issues and fetch errors. task-4531783 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
When users copy editor content that includes images stored in Odoo and paste it into external tools such as Gmail, the images now keep the full address needed to display correctly. This prevents pasted messages or documents from showing broken images.
Original PR description
**Problem**: On copy as HTML, if the content contains images saved on the server, the URLs will not include the origin. When pasted outside of Odoo (for example, in Gmail), the images will not be loaded. **Solution**: Add the origin to `img` tag `src` attributes when copying content. **Steps to reproduce**: 1. Paste an image in the editor. 2. Copy all content (including the image). 3. Paste it elsewhere as HTML (e.g., Gmail). 4. Observe that the HTML is pasted but the image is not loaded. **opw-4652753** --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix stops Odoo from trying to write field-deletion messages for a model that has already been removed. It prevents module updates from failing when a deleted custom model previously had tracked fields in the mail/chatter system.
Original PR description
Fixes ``` File "/home/odoo/src/odoo/odoo/addons/base/models/ir_model.py", line 2647, in _process_end self._process_end_unlink_record(record) File…
Fixes
```
File "/home/odoo/src/odoo/odoo/addons/base/models/ir_model.py", line 2647, in _process_end
self._process_end_unlink_record(record)
File "/home/odoo/src/odoo/addons/website/models/ir_model_data.py", line 35, in _process_end_unlink_record
return super()._process_end_unlink_record(record)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/odoo/src/odoo/odoo/addons/base/models/ir_model.py", line 2576, in _process_end_unlink_record
record.unlink()
File "/home/odoo/src/odoo/addons/mail/models/ir_model_fields.py", line 52, in unlink
'sequence': self.env[field.model_id.model]._mail_track_get_field_sequence(field.name),
~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
File "/home/odoo/src/odoo/odoo/api.py", line 612, in __getitem__
return self.registry[model_name](self, (), ())
~~~~~~~~~~~~~^^^^^^^^^^^^
File "/home/odoo/src/odoo/odoo/modules/registry.py", line 240, in __getitem__
return self.models[model_name]
~~~~~~~~~~~^^^^^^^^^^^^
KeyError: 'my.custom.model'
```
To reproduce:
* add a model with a tracked field to a module
* create a record and update field value to create a tracking message
* remove the model from the module and update the module
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prOdoo now handles web pages that include an XML-style header when generating link previews. This prevents an error that could block users from saving certain links in Documents workspaces and other areas that use link previews.
Original PR description
## Details: The function get_link_preview_from_html is a common tool used in many modules, one of them documents. When you add a link on a workspace that response with a content with a xml…
## Details: The function get_link_preview_from_html is a common tool used in many modules, one of them documents. When you add a link on a workspace that response with a content with a xml declaration (ex. <!--?xml version="1.0" encoding="UTF-8"?-->), this will raise the next ValueError: "Unicode strings with encoding declaration are not supported. Please use bytes input or XML fragments without declaration." At the moment that the string is being parsed as a html element, this string has been cleaned, to avoid the issue, we can only remove this xml declaration because this element is only being used to extract information about the page. ## Impacted versions: 18.0 and later ## Steps to reproduce: 1. Go to Documents App 2. Add a link in any workspace with xml declaration (ex. https://www.buffalo.jp/s3/guide/crmm/userguide/99/en/pc_index.html) ## Current behavior: Raise Value Error "Unicode strings with encoding declaration are not supported. Please use bytes input or XML fragments without declaration." ## Expected behavior: Link should be saved. ### Task OPW-4675813
Point of Sale searches now match customers even when mobile numbers are entered with spaces or common punctuation. This helps cashiers find the right customer record more reliably during checkout.
Original PR description
Issue: ======== When searching for a partner using a mobile number with spaces (e.g., `+91 123456789`), the expected partner is not displayed. Cause: ======== The code removes spaces from stored phone numbers but does not modify the search input, leading to a mismatch: - Stored: `+91123456789` - Search input: `+91 123456789` Fix: ====== Added a regex to standardize mobile numbers on the frontend by removing `+, -, (), and spaces`. The same transformation is applied during search to ensure correct matches. Task-4675406
The point-of-sale certification flow now handles connection failures properly when the required server cannot be reached. This prevents automated checks and related operations from crashing, improving reliability for German POS certification setups.
Original PR description
Before this commit, the fetch error was not correctly caught, leading to a crash of the runbot when the server was not reachable. runbot: 160959
This update adjusts accounting-related automated tests so they work correctly with recent changes to the internal test tooling. It helps keep Odoo's test suite reliable while limiting the change to test code only, reducing risk for business operations.
Original PR description
## Pull Request HOOT (PRHOOT) 30 This pull requests brings various improvements and fixes to Hoot and the Odoo unit test ecosystem. See the different commit messages for more details. Note: these changes are made in stable to avoid having to support multiple versions of the HOOT API. As such, these changes are intended to be strictly limited to unit tests as to not put the rest of the code base at risk. Community: https://github.com/odoo/odoo/pull/203713 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr