Tuesday, March 18, 2025
14 changes
1 change
Resolved issues and error corrections
This fix ensures debug settings are handled consistently during automated tests, preventing avoidable test failures. It helps maintain confidence in quality checks for Documents, Dashboards, and Studio without changing end-user functionality.
Original PR description
odoo.debug has to be a string. If an error is thrown in a test with a
patchWithCleanup(odoo, { debug: true/false });
an error of type "env.debug.includes is not a function" is thrown.
Task ID: 465518013 changes
Resolved issues and error corrections
This fix prevents the web interface from crashing when a record contains a related record ID but is missing the related model information. Instead of failing, Odoo now treats the missing relationship as no related record, improving reliability for affected users.
Original PR description
Having a record with set res_id but no res_model doesn't mean much, but we can consider, in web_read, that it means that there is no related record to avoid crashes. opw-4527152
Users who have been granted access to bills of material can now open them without hitting an attachment-related error. This makes custom access setups more reliable without requiring extra development work.
Original PR description
### Steps to reproduce 1. Create a new group 2. Give the group access to the following models: - `mrp.bom` - `mrp.bom.line` - `mrp.routing.workcenter` - `product.document` 3. Create a new menu using studio to access `mrp.bom` directly 4. Create a new user with the newly created group 5. Sign-in with this user and go on a BoM 6. AccessError ### Before this commit: Users without the `mrp.group_mrp_user` group cannot display bills of material, even if we add the necessary access rights. The record loads without issue, but the chatter displays an error when loading the attachments, due to strict group access on the field `attached_on_mrp`. ### After this commit: Remove the group from the field and move it into the view. This allows easier and more flexible access rights to the BoM without writing any custom code. opw-4538532
Fixed a configuration issue in the Indian withholding tax module that was causing automated validation to fail. This helps keep the module stable and prevents avoidable deployment or upgrade blockers.
Original PR description
In this commit-
We fix the [runbot error](https://runbot.odoo.com/runbot/build/76662614)
```py
Please indicate why the always invisible fields are present in the view, or remove the field tag.
Addon: 'l10n_in_withholding'
View: tds_entry_view_form
Fields:
<field name="currency_id" column_invisible="True"/>
```
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prThis fixes an issue where manually created company-specific fields did not keep their company-dependent behavior. Businesses using custom fields can now rely on values being stored separately per company as intended.
Original PR description
The field attribute `company_dependent` is not passed when instanciating manual fields so they do not get created as jsonb columns and lose the company dependent property. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The portal signing flow now handles customers or contacts that do not have a standard name without failing. This prevents users from hitting an error when previewing and signing sales quotations for such contacts.
Original PR description
Steps: - install `contacts` and `sale_management` - Open a contact in a form view and add a sub-contact - Don't fill contact name field - Save & Close - Go to Quotations - Select this new contact as Customer (it should have a name like Parent contact, Other Address) - Add any product - Save - Click on `Preview` - Click on `Sign & Pay` - Traceback When there is no signature name, `NameAndSignature` does not set `resetSignature` and `getSignatureImage` on `this.signature`. So after `SignatureForm` initialization, `onMounted` raise a traceback, because it calls directly `this.signature.resetSignature`. This commit adds default functions to `resetSignature` and `getSignatureImage` to prevent the crash. opw-4504223
Exporting products by category with only the external ID field selected no longer causes an error. This keeps product data exports reliable for users who need external IDs for integrations or reporting.
Original PR description
Steps: - Install sales app. - Go to product menu and group list view by category - Export products with only `Product/Product/External ID` Issue: - Traceback. Cause: - Directly try to access `type` key from dict without checking dict contain `type` key or not. Before [this] PR we were checking if it contain type or not. Fix: - Check dictionary contain `type` or not. [this]: https://github.com/odoo/odoo/pull/178214 opw-4585879
This fixes automated web tours so steps using shared helper actions still perform the expected page-unload safety check. It helps make tour execution more reliable and reduces missed issues during automated testing.
Original PR description
If an action is defined in a step with a string (and therefore is an action that comes from tour_helpers) there is no check on the beforeUnload event that is done. In this commit, we fix this. 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
The Spanish SII electronic invoicing demo certificates were replaced because the previous ones had expired and were causing automated validation tests to fail. This keeps the demo/test setup working reliably and aligns certificate naming with related Spanish localization components.
Original PR description
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
This fix helps accounting keep zero-value tax lines when they are needed for correct tax repartitioning. It reduces the risk of missing tax details in invoices or accounting entries, supporting more accurate reporting and compliance workflows.
Original PR description
opw-4493544 ## PR note Alternative to https://github.com/odoo/enterprise/pull/80095.
Some internal system labels in the Base module were incorrectly eligible for translation. This fix keeps those strings unchanged across languages, reducing confusion in configuration screens and ensuring consistent technical labels.
Original PR description

The Documents file viewer now stays correctly positioned when users scroll horizontally, including in grouped views. This prevents misplaced previews and provides a more consistent document viewing experience.
Original PR description
Previously, the file viewer was misaligned when scrolling horizontally, causing incorrect placement. This fix ensures that the file viewer remains properly positioned, even when scrolling, for a consistent viewing experience. Task-4531591
The automated test for the signing flow now closes the final confirmation window instead of trying actions that trigger a download or do not fit the test purpose. This prevents timeout failures and keeps the signing process validation stable after related platform changes.
Original PR description
In this commit, we fix the latest step of tour. We can't click on primary or secondary button ... make no sense. As the primary button download the pdf file and there is no test to ensure the file is well downloaded, it make more sense to click on close the modal. With the fix in https://github.com/odoo/odoo/pull/202089 and without the correction, the tour was timeout exceeded.
Payment notification emails for SEPA Direct Debit are now sent in the customer’s preferred language instead of always defaulting to English. This helps customers receive clearer, localized communication when direct debit payments are processed.
Original PR description
Direct Debit payment notification email was always sent in english regardless of customer language. **Steps to reproduce:** * Configure SDD creditor identifier in accounting settings * Bank Journal should have valid bank account * Customer record have different language than user's language and have valid IBAN bank account * Create Direct Debit mandate for this customer * Pay an invoice for this customer with SDD payment method * Create batch payment for this payment and validate it. * The payment notification email should be sent on payment chatter with wrong language. Video: https://drive.google.com/file/d/1jzlALs4SJRtOA5gPBt_xo0m8r7kpZd_m/view opw-4552438