Monday, March 17, 2025
5 changes · saas-17.4
Resolved issues and error corrections
Opening a card after moving several items in a grouped Kanban view now waits for the move-related saves to finish first. This prevents crashes and helps ensure moved records are properly saved, especially on slower connections.
Original PR description
In a grouped kanban view (e.g. project tasks), especially on a slow network, quickly move several records from a column to another, and click on a record to open it. Before this commit, we switched to the opened record directly, without waiting for the ongoing rpcs (web_save, resequence), for each moved record. However, the `async` protection in the orm service prevent destroyed components from doing rpcs. As a consequence, a crash can occur if some moved records could not be saved before leaving the kanban view. This commit ensures that we wait for all those operations to be done before leaving the kanban view. That way, all moved records are properly saved, and no crash occurs. Issue reported on our prod. 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
Guest shoppers who choose a non-default price list will keep that selection after entering their checkout address. This prevents unexpected price changes and helps ensure the final cart matches the customer's selected pricing.
Original PR description
Steps: - Go to /shop as a guest (without logging in). - Select a pricelist different from the default. - Add a product to the cart and proceed to checkout. - Fill in the address form and submit. -…
Steps: - Go to /shop as a guest (without logging in). - Select a pricelist different from the default. - Add a product to the cart and proceed to checkout. - Fill in the address form and submit. - Observe that the pricelist is reset to the default instead of retaining the selected one. Issue - When a user selects a pricelist on the /shop page without logging in, the selected pricelist resets to the default during checkout after filling in the address form. Cause - The update_address method updates the partner_id of the sale.order - During this process, the write method triggers a recomputation that resets the pricelist_id to the default instead of preserving the user-selected pricelist. Fix - Assign the selected pricelist to partner_sudo.property_product_pricelist before updating the sale order’s partner. - This ensures that the pricelist remains unchanged throughout the checkout process. Affected Version-saas-17.4 opw-4455367 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Point of Sale customer displays connected through an IoT box now use a local connection path that avoids certificate issues. This helps prevent display activation failures when a valid HTTPS certificate is not available, improving reliability at checkout.
Original PR description
Before this commit, if an IoT connected customer display was activated without a valid HTTPS certificate, it would fail as the IoT box would not trust accessing its own endpoint, due to the request using https://<iot_box_ip>. After this commit, the proxy display instead uses http://localhost, so the certificate is not requirec and the customer display functions as expected. task-4648702 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Restaurant point-of-sale orders now show refunded quantities accurately after partial refunds. This prevents the same refund from being counted multiple times when order data is synchronized, reducing confusion for staff reviewing past orders.
Original PR description
### Steps to reproduce: - Create a PoS order in restaurant and proceed with payment - Create a refund for some items in the created order - Go to the order screens and notice the refunded qty in the main order ### Cause: Since syncAllOrders method gets executed in different flows we are adding to the refunded_qty more than once. https://github.com/odoo/odoo/blob/bfbf47d7b70d9bc180968a69d0ab6c522ee877a8/addons/point_of_sale/static/src/app/store/pos_store.js#L1164 ### Fix: Set the refunded qty as sum of quantities for the related refund order lines. opw-4536644
This fix helps Odoo recover when a Colombian electronic invoice was accepted by DIAN but Odoo missed the response due to a connection issue. If the user retries, Odoo now uses DIAN's existing document reference to refresh the status instead of leaving the invoice incorrectly marked as rejected.
Original PR description
it could happen that odoo does not receive DIAN's response because of internet loss while the document is being sent to dian for example. The move form will then display the edi state as being rejected while in reality DIAN has successfully processed the move. If the user where to send the move to DIAN again, they would get an error message saying the move has already been processed. the fix: when the move is sent to DIAN again after getting out of sync, DIAN will send the error explained above which contains the identifier of the move. We now save this identifier and use it in the automatic GetStatus call to get odoo and DIAN back in sync. ticket: 4569829