Friday, August 1, 2025
8 changes · 17.0
Resolved issues and error corrections
This fix prevents an error when an Indian company removes its VAT number and then uses the GST warning update action. Users can now clear the VAT field without encountering a crash, making the GST warning flow more reliable.
Original PR description
Currently, a traceback is occurring when the user clicks on the update button of GST warning after removing the vat. To reproduce this issue: 1) Install l10n_in 2) Open the Indian company 3) Change the VAT to get the GST warning 4) After getting the GST warning remove the VAT and click the `update it` button Error:- ``` TypeError: 'bool' object is not subscriptable ``` On company, VAT is not a required field, so the user can indeed remove it. When the user removes the vat and clicks on the `update it` button from GST warnings, the `action_update_state_as_per_gstin` method triggers. https://github.com/odoo/odoo/blob/c96d2b1d1ee917b1c665842010c56c23df91ccd3/addons/l10n_in/models/res_partner.py#L99-L101 From the above method we try to access the vat value. Here in our case, the `VAT` value is False. So it leads to the above traceback. We can resolve this issue by adding check, which makes the code more robust. sentry-6151570042
Opening Leads/Opportunities from the Activities dashboard no longer causes an error in developer mode. The fix ensures the CRM action uses the expected data format, improving reliability for users navigating CRM activities.
Original PR description
Steps: - Install `crm` - Enable dev mode - Dashboard -> Activities icon -> Lead/Opportunitiess - Traceback This is simply due to the fact that the withsearch props indicate that they want to receive an array of strings or arrays, whereas the crm patch overrides the action domain by keeping the “Domain” type, which is an object and not an array. One solution is to use `.toList()` on the domain to convert it into a 2d array. linked pr: https://github.com/odoo/enterprise/pull/91521 opw-4979173
Stock reports now treat tiny rounding leftovers as zero when calculating average unit cost. This prevents unrealistic, extremely large costs from appearing and gives users a more accurate view of inventory valuation.
Original PR description
## Before this commit: Opening the stock report displays gigantic unit cost in some cases, when the sum of the valuation's quantity is near zero but not exactly, due to float arithmetics. For example, if the total quantity is 1e-15 and the total value is $0.01, the average cost will display $10000000000000 instead of $0. ## After this commit: Use `float_is_zero` to correctly detect zero-ish quantity. opw-4869588 Forward-Port-Of: odoo/odoo#218671
This update fixes an occasional automated test failure in the bus module by making the test wait for subscription activity to finish before checking logout behavior. It improves confidence in test results without changing end-user functionality.
Original PR description
Before this commit, the `test_user_logout_outgoing_message` was sometimes failing. The test subscribes to a channel, logs out, and ensures the websocket is closed on the next dispatching. However, subscribe itselfs triggers a dispatch which can interfere with the test. This issue was fixed in 16.4 in [1]. This commit backports the subscribe helper which waits for this dispatching when subscribing, avoiding such race conditions. fixes runbot-163224 [1]: https://github.com/odoo/odoo/pull/138476 Forward-Port-Of: odoo/odoo#218172
When a task is moved to a different project, its attached documents now move to the correct project workspace as well. This prevents files from remaining in the old project area and helps teams find task documents in the expected location, including private projects where files move to the internal workspace.
Original PR description
- 16.0 ### Steps to reproduce: - Install document and project. - Create a project and task. - Add a document to the task. - Change the task's project to another project. - Open the attached document from the task. ### Issue: You will observe that the document is not in the new project's workspace. It's still present in the older project's workspace ### Solution: Update the document's folder on the change of the task's project. task-4389443 Forward-Port-Of: odoo/enterprise#75481
This fixes an error that could appear when users opened Leads/Opportunities from the Activities dashboard in developer mode. The change ensures the CRM navigation data is passed in the expected format, so users can access the view normally.
Original PR description
Steps: - Install `crm` - Enable dev mode - Dashboard -> Activities icon -> Lead/Opportunitiess - Traceback This is simply due to the fact that the withsearch props indicate that they want to receive an array of strings or arrays, whereas the crm patch overrides the action domain by keeping the “Domain” type, which is an object and not an array. One solution is to use `.toList()` on the domain to convert it into a 2d array. linked pr: https://github.com/odoo/odoo/pull/221525 opw-4979173
Fixes an issue where changing a placeholder in an Odoo Sign template could incorrectly replace the popup title for signing fields. This helps preserve template quality and ensures reused documents show clear, expected field names such as Name, Text, or Signature.
Original PR description
### Steps to reproduce:
- Create a document using a sign template.
- Add a new field or modify the placeholder of an existing one.
- Validate the changes.
- Notice title is replaced by the value entered in placeholder.
### Issue:
After editing a template that has already been used in a signed document, the title of each sign item popup is unexpectedly replaced with the value
entered in the placeholder for that item. This corrupts the template and results
in incorrect title of sign itme being shown when the template is reused.
### Cause:
The issue occurs because the title was being updated with the placeholder of that particular sign item.
### Solution:
Added a prop for title of sign item in SignCustomPopover so that we can make the title as name of the sign item or the type like ('Name', 'Text', 'Signature') rather than the placeholder of the sign item.
---
task-4872963This fix prevents an error when users manually enter a tracking reference for a Sendcloud delivery. Instead of showing a technical crash, the system now handles the missing Sendcloud parcel data gracefully and shows the appropriate user-facing message.
Original PR description
**Steps to reproduce:** 1. Install delivery_sendcloud. 2. Create a new shipping method (Inventory -> Configuration) - Provider: sendcloud - Put the public and secret key - Assign Delivery Product 3.…
**Steps to reproduce:** 1. Install delivery_sendcloud. 2. Create a new shipping method (Inventory -> Configuration) - Provider: sendcloud - Put the public and secret key - Assign Delivery Product 3. Create a sales order with a deliverable product 4. Confirm the sale order 5. Go to the delivery 6. Manually enter a random tracking reference. 7. Make sure carrier is set to the Sendcloud delivery method 8. Click on "tracking," or get back to the sales order (click "preview"). 9. A traceback occurs. **Issue:** `A TypeError: 'bool' object is not subscriptable` when accessing sendcloud_parcel_ref, which is expected to be a list or JSON but is instead a boolean. **Causes:** The code assumes the presence of valid Sendcloud parcel reference data, but manually entering a tracking reference bypasses the [_send_shipment](https://github.com/odoo/enterprise/blob/6ecf0af6b6874460d300ede6cc7c092927607810/delivery_sendcloud/models/sendcloud_service.py#L102) method that populates this field. As a result, sendcloud_parcel_ref can remain False. https://github.com/odoo/enterprise/blob/df924ef8adffb3e42419a44ecf22fec3059917c4/delivery_sendcloud/models/delivery_carrier.py#L196 **Solution:** Return None if there is no Sendcloud parcel reference, which will raise a UserError from the below line https://github.com/odoo/odoo/blob/17.0/addons/stock_delivery/models/stock_picking.py#L288 Co-Author By - alsh@odoo.com opw-4894677