Thursday, April 10, 2025
9 changes · 18.0
Enhancements to existing features
Selection menus can now use customized filtering rules instead of relying only on the visible option label. This helps users find and display relevant choices even when extra search information is not shown on screen.
Original PR description
Purpose: allow customizing how options are filtered. In documents, we chose to limit the amount of information present in the `label` of `choice`s, but we should still be able to display all our fetched options, even those that do not match what is in the `label`, and is fixed in the related PR. Task-4656596
When a company’s GSTIN or API credentials are changed, Odoo now clears the related India e-invoicing and e-waybill connection tokens so new ones can be generated. Users also receive a warning that API connections must be re-established after changing the GSTIN, reducing the risk of failed compliance submissions with outdated credentials.
Original PR description
This **PR** refines the API token management system for l10n_in by introducing a dependency on the GSTIN number and on API's credentials. Consequently, whenever the GSTIN number or API's credentials are updated, all associated tokens and their validity are reset. New tokens must then be generated to ensure continued functionality. As part of this **PR** following will be affected: 1) edi_token used for E-Invoicing. 2) auth_validity of E-Waybill authentication. Additionally, a warning is added on GSTIN change, notifying users that re-establishing the connection for the APIs is required after updating the GSTIN. **task**-4430663 **IAP PR**: https://github.com/odoo/iap-apps/pull/971 **Enterprise PR**: https://github.com/odoo/enterprise/pull/76373
The customer statement button will now appear only when there is actual statement content for the selected customer, reducing confusing empty reports. Draft-entry warnings will also appear only when the selected customer has draft accounting entries, helping users focus on relevant alerts.
Original PR description
Description of the issue this commits addresses: The Customer Statement button is shown too often and leads to empty customer statements in some scenarios. The banner warning the user that some entries are draft is also shown too often and should only appear if the selected partner(s) have draft entries. --- Desired behavior after this commit is merged: The button only shows when the customer statement it will lead to has values to show. This means both making sure the partner has moves to show on the customer statement but also that the customer statement actually shows them. Same for the draft entries warning banner. It will only be shown when the selected parter(s) has(have) draft entries. --- task-4680249
Resolved issues and error corrections
This fixes an issue where stock accounting entries could be assigned the wrong direction when multiple stock move lines were processed together. The correction helps keep inventory valuation and related accounting records accurate.
Original PR description
### Description: The commit b15bdb6 introduces a bug causing the `account.move.line` to be broken. This is caused by the fact that rather than looping over the move_line_ids of one move, it does it on all of them, causing the moves to all have the same direction, even if the move lines have different directions. ### Fix: Changing the `self` to `record` should fix the issue. ### Reference: b15bdb65b11b3772c1d288b8b65e48f0cb221d24
When a chatbot forwards a conversation to a live chat operator, the chat is now correctly shown as unread and needing attention. This prevents operators from missing new customer conversations handed over by the bot.
Original PR description
Before this PR, the operator was not notified after being forwarded by a bot. This happened because the notification was posted as the operator. Messages are automatically marked as read when a user posts them. As a result, nothing in the UI indicated that the chat was new or required the operator's attention. This PR resolves the issue by posting the message as the chatbot. It both makes sense from a UX perspective (displaying something like "Bot invited the operator to the user") and ensures the chat is properly flagged for the operator. task-4689496 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
Subscription portal payments now correctly save payment details when the payment amount matches the expected amount. This prevents customers from losing the ability to reuse payment methods for future subscription billing.
Original PR description
After https://github.com/odoo/enterprise/pull/8209 we stopped tokenize when the amount match. It is an error.
Shared document links can now be previewed by public users instead of always forcing a download. This makes externally shared files easier to review directly in the browser and adds test coverage to prevent the issue from returning.
Original PR description
Steps to reproduce: 1. Share a file with the outside world and grab the link. 2. Paste it incognito. 3. Hit the preview button. 4. It opens the os finder to download it. Currently, public users cannot preview shared documents; instead, the documents are always downloaded. Technical Reason: 1. In an override of the route handling document content retrieval, the argument that determines whether the document should be displayed or downloaded is lost in a `super()` call. 2. Added 'post_install' tag to ensure the test also runs after installation, so it can catch changes from other modules like 'documents_account'. After this Commit: Shared documents will be reviewable. Task-4689525
Public users opening shared document links can now preview supported files, such as PDFs and images, instead of having them downloaded automatically. This improves the sharing experience and ensures document previews work consistently when accounting document features are installed.
Original PR description
Currently, public users cannot preview shared documents; instead, the documents are always downloaded. ### Steps to reproduce 1. Install `documents_account`. 2. Share a previewable document (e.g., an image or a PDF) with a link that allows public viewing. 3. Open the share link in an incognito window. 4. Click "Preview file." The file is downloaded instead of being previewed. ### Cause In an override of the route handling document content retrieval, the argument that determines whether the document should be displayed or downloaded is lost in a `super()` call. ### Tests While the base `documents` module includes tests for this behavior, they are tagged with `at_install`, meaning they only validate the functionality at the time of the module's initial installation. This does not account for potential overrides in extension modules like `documents_account`. To address this, the test class is now tagged `post_install`. opw-4490958
Guest customers booking a paid appointment will no longer create two separate contact records during checkout. The appointment and related sales order now use the same customer details, reducing duplicate data and backend cleanup.
Original PR description
To reproduce: ============= - without sign-in, book a paid appointment - you will be asked for name/email/phone - then at checkout you will be redirected to fill address and asked for name/email/phone again - fill the form and submit - on backend you will find two contacts created one with SO and one with appointment Problem: ======== when we fill the form for appointment, a partner is created but it's not set on the appointment's sale order, that's why another partner is created when we fill the address form. Solution: ========= - set the partner on the appointment's sale order when creating it opw-4668838