Thursday, March 26, 2026
10 changes · 17.0
Resolved issues and error corrections
This change resolves an issue where tests were failing due to reliance on demo data that's no longer available in the testing environment. The fix automatically creates a new partner when needed, ensuring test stability and consistent results. This improves the reliability of our automated testing process.
Original PR description
4d844b7f3b570d7c3d978c6f10c351c48553df0b was a backport that was developed when demo data was installed during CI. However, time has passed, and demo isn't installed anymore causing the following:…
4d844b7f3b570d7c3d978c6f10c351c48553df0b was a backport that was developed when demo data was installed during CI.
However, time has passed, and demo isn't installed anymore causing the following:
```python
Traceback (most recent call last):
File "/data/build/enterprise/sale_amazon/tests/test_amazon.py", line 541, in test_sync_orders_replacement
"partner_id": self.env.ref("base.res_partner_1").id,
File "/data/build/odoo/odoo/api.py", line 596, in ref
res_model, res_id = self['ir.model.data']._xmlid_to_res_model_res_id(
File "/data/build/odoo/odoo/addons/base/models/ir_model.py", line 2215, in _xmlid_to_res_model_res_id
return self._xmlid_lookup(xmlid)
File "<decorator-gen-43>", line 2, in _xmlid_lookup
File "/data/build/odoo/odoo/tools/cache.py", line 104, in lookup
value = d[key] = self.method(*args, **kwargs)
File "/data/build/odoo/odoo/addons/base/models/ir_model.py", line 2208, in _xmlid_lookup
raise ValueError('External ID not found in the system: %s' % xmlid)
ValueError: External ID not found in the system: base.res_partner_1
```
This commit creates a new partner on the fly instead.
runbot-241943This update clarifies the error message displayed when an upsell start date is set too close to the next invoice date. The change ensures users receive a more understandable explanation, preventing confusion and streamlining the subscription process. This improves the overall user experience and reduces potential support requests.
Original PR description
Update the error message when an upsell start date is on or after the next invoice date, so it be more clear for the users. task-5893032
This update fixes an issue where users were incorrectly prompted for passwords on encrypted PDFs that didn't actually require them. The change now accurately checks if a password is needed before attempting a download, ensuring a smoother and more reliable experience for users accessing signed documents. This resolves a previous bug impacting document accessibility.
Original PR description
Related ticket: https://www.odoo.com/odoo/project/49/tasks/5400441 Previously, if a user went to download a document, we would check if it was encrypted. If so, we would redirect to ask for a password. But the problem with that is, not all encrypted documents require passwords. In that case, we would ask for a password when none existed, thus blocking the user from downloading the document. Now we check if a password is required to access the document instead of whether the document is encrypted. That way, we won't redirect to ask for a password when there is no password. Docs about PdfFileReader's `decrypt` method, before and after a major change: https://pypdf2.readthedocs.io/en/2.3.0/modules/PdfReader.html https://pypdf2.readthedocs.io/en/2.12.0/modules/PdfReader.html
This update fixes an issue where invoices sent via Peppol were creating duplicate documents in the system. The change ensures attachments are synchronized only once during the dedicated document linking phase, streamlining the Peppol invoice process and improving data accuracy.
Original PR description
When sending an invoice via Peppol, the PDF and XML attachments are logged in the chatter. This automatically triggers a synchronization with the Documents app. However, the Peppol sending flow also includes a dedicated document linking step later in the process. This caused the same attachments to be registered as documents twice. This commit skips the document synchronization during the initial chatter logging step. The attachments will now only be synchronized once during the dedicated linking phase. Note: ec6e559 prevented duplicate attachments in the chatter with some cleanup code, but this cleanup code runs after the document has already been created and does not remove the document, resulting in duplicate documents, which this commit fixes. Task-6030468
This update fixes a problem where quotation emails were sending the document name in English, regardless of the recipient's language setting. The change now uses the translated document name from Odoo, ensuring recipients receive emails with the correct terminology in their preferred language. This improves the user experience for international customers.
Original PR description
The quotation email template built the document label from hardcoded English strings (quotation/order), so the text remain untranslated for recipients in another language. Use `sale.order.type_name` instead, which provides the document name in the proper language context. opw-6031392
This update automatically sets the correct analytic account when creating new items from the gross margin smart button within analytic accounts. Previously, new records didn't link to the appropriate account, leading to data inconsistencies. This change ensures accurate tracking and reporting for analytic data.
Original PR description
When accessing analytic items from the gross margin smart button on an analytic account, creating a new record does not pre-fill the analytic account field. This happens because the context does not set `default_account_id` for the active analytic account, leading to newly created lines not being linked at creation time. This commit ensures the analytic account is correctly passed through the context, so it is automatically set when creating a new analytic line from this flow. Steps to reproduce: - Open an analytic account - Click on the gross margin smart button - Create a new analytic item Before: analytic account not set by default After: analytic account is pre-filled via context task-3909624
This update optimizes the testing process for the Live Chat module by pre-generating a key asset bundle. Previously, this bundle was rebuilt repeatedly during tests, causing performance slowdowns. This change significantly reduces test execution time and improves overall stability.
Original PR description
This commit sets the `im_livechat.assets_embed_external` bundle to be pregenerated while running tests to avoid rebuilding it at runtime (i.e. +280 times with a db "all").
This update optimizes testing by pre-generating the `bus.websocket_worker_assets` bundle. Previously, this bundle was rebuilt repeatedly during tests, causing performance slowdowns. This change significantly reduces test execution time and improves overall system stability.
Original PR description
This commit sets the `bus.websocket_worker_assets` bundle to be pregenerated while running tests to avoid rebuilding it at runtime (i.e. +900 times with a db "all").
This update resolves a potential issue where forum URL title requests could hang indefinitely, causing delays. A timeout has been implemented to prevent the system from being blocked, ensuring a smoother and more responsive forum experience for users. This improves overall forum stability and performance.
Original PR description
Add a timeout to the requests done by /forum/get_url_title to avoid blocking indefinitely Forward-Port-Of: odoo/odoo#254607
This update ensures that Odoo correctly maintains translation caches for related fields, even when calculations are re-run using different language versions of those fields. Previously, changes to translated fields could prematurely clear these caches, leading to performance issues. This fix improves the efficiency and responsiveness of Odoo when working with multi-language data.
Original PR description
when related translated field (field_x) is changed when onchange, if another computed fields which depends on the field_x is recomputed but using another language value of the field_x. The orm should keep the existing translations in the cache but not drop them. 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