Friday, October 3, 2025
7 changes · 17.0
Resolved issues and error corrections
Very small negative amounts that round to zero now display as 0.00 instead of -0.00. This avoids confusing signs in Luxembourg reports and keeps rounded monetary values clearer for users.
Original PR description
float_repr(-0.00000001, 2)
formatFloat(-0.00000001, { digits: [16, 2] })
Before: "-0.00"
After: "0.00"
opw-4685953
closes odoo/enterprise#90992
Related: odoo/odoo#219913This update fixes an internal test issue that occurred only when an optional file-detection library was installed. It helps keep automated checks stable, reducing noise for developers without changing customer-facing behavior.
Original PR description
This tests are failing when python-magic is installed. Leftover of #223609 Runbot error 231171
Users who close the email validation banner will no longer see it return unexpectedly. This reduces confusion after email validation and makes the profile experience behave as expected.
Original PR description
### Issue 1: The validated email success banner wasn’t triggering the RPC call because Bootstrap’s `data-bs-dismiss="alert"` removed the element from the DOM before the handler could run. ### Issue 2 Closing the banner previously triggered `/profile/validate_email/close` RPC, which reset `validation_email_done` to false. This mistakenly caused the “email sent” banner to reappear, confusing users. ### Solution - Overwrite Bootstrap’s `close.bs.alert` event to trigger the RPC when the success banner is dismissed. - Set `validation_email_sent = False` so the banner stays hidden after being closed. Task-5049533
Mandatory matrix questions in surveys now work correctly even when their description includes a table. This prevents errors during survey completion and helps respondents submit answers without interruption.
Original PR description
A conflict occurs if a matrix question is set to "Mandatory answer" (questionRequired = True) and a table is also added to its description. The issue is that when the system evaluates a required…
A conflict occurs if a matrix question is set to "Mandatory answer" (questionRequired = True) and a table is also added to its description. The issue is that when the system evaluates a required matrix, it gets the subQuestionsIds by looking for the first table within the question's wrapper. If a table exists in the description, the system incorrectly tries to retrieve the IDs from that table. This action throws a traceback because the descriptive table does not contain any sub-question data. This commit fixes the issue by being more specific when looking for the table containing the subQuestionsIds. It adds a specific class to this table and uses it in the selector. An attribute selector, like 'table[data-sub-questions]', could also have been used as an alternative. opw-4931881 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
Exporting a Belgian 325 form PDF no longer crashes when there are no related 281.50 forms to include. Users now see a clear message explaining that they need to record a transaction with a 281.50 tag before generating the PDF, while normal downloads still work when data exists.
Original PR description
### Problem When clicking **"Export PDF"** on a 325 form that has **no generated 281.50 forms**, Odoo raised a **server error**: This happened because the method assumed that at least one attachment…
### Problem When clicking **"Export PDF"** on a 325 form that has **no generated 281.50 forms**, Odoo raised a **server error**: This happened because the method assumed that at least one attachment would always be generated, even if no eligible transactions were present. --- ### Steps to Reproduce 1. Go to **Accounting → Reporting → 325 Form**. 2. Create a 325 form for a year without any transactions on accounts tagged with **281.50**. 3. Do not generate any 281.50 forms (`form_281_50_ids` is empty). 4. Click **Export PDF**. **Result before fix:** - Crash with `IndexError: list index out of range`. --- ### Solution - Added a safeguard check before accessing attachments. - If no attachments exist, raise a **UserError** instead of crashing. **New behavior:** > *“No 281.50 lines found to generate a PDF. Please record a transaction with a 281.50 tag first.”* This gives users a instruction on how to resolve the issue. --- ### Result After Fix - **User error message** replaces traceback. - **Normal behavior preserved** when attachments exist: - One file → direct download. - Multiple files → zipped download. --- task-5090120
The barcode scanning dialog now handles users leaving the camera screen before the preview finishes loading. This prevents an error message or crash when pressing Back or Escape quickly, making the scanning flow more reliable.
Original PR description
Steps to reproduce: 1. Install `barcode` 2. Barcode > 'click to scan' 3. Before the camera preview loads, click the back button of the dialog Issue: A traceback occurs: `OwlError: The following error occurred in onMounted: 'Cannot set properties of null (setting 'srcObject')' ` Cause: Clicking the back button triggers `onWillUnmount`, which clears the stream and sets `this.videoPreviewRef.el` to null. However, some asynchronous functions in `onMounted` are still pending and try to access the video element, leading to a crash. Solution: Add a safe check based on component status before accessing `this.videoPreviewRef.el` opw-5055566
The website cookie policy page now links to the current Google Analytics 4 cookie documentation instead of an unavailable legacy page. This helps visitors access accurate privacy information when reviewing analytics cookie details.
Original PR description
The previous URL for Google Cookie usage pointed to the legacy Universal Analytics page, which is no longer available since July 1, 2024. Steps to reproduce: 1. Go to Website Settings and enable the Cookies Bar. 2. Visit /cookie-policy on the website. 3. Click on the link "Analytics cookies and privacy information." 4. Observe that the page is no longer available. This commit updates the link to point to the current Google Analytics 4 documentation, ensuring users can access the correct cookie policy information. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr