Thursday, March 27, 2025
4 changes · saas-18.1
Resolved issues and error corrections
This fix ensures that when a cashier removes an item from a Point of Sale order, it is also removed from the device's local saved data. This helps prevent old deleted items from reappearing or causing inconsistencies when POS data is stored locally.
Original PR description
When an orderline is deleted, it wasn't being removed from the indexedDB. This commit ensures that deleted orderlines are also removed from the local storage, maintaining data integrity in the POS. opw-4626344 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix keeps the point of sale payment keypad visible on smaller screens, even when many payment methods are available. Cashiers can continue editing payment amounts without the interface hiding essential controls.
Original PR description
Before this commit, when the screen size was small and there were a high number of payment methods, the numpad would become invisible, making it impossible to edit the payment amount. opw-4666090 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Users can now download PDF files displayed with the PDF viewer field in Odoo forms. This restores an expected action for uploaded documents, reducing friction when users need to retrieve or share saved PDFs.
Original PR description
Example of steps: - Install `web_studio` - Add a file field anywhere in a view form via Studio - Use pdf_viewer widget on this file field - Close Studio - Create a new record - Upload a pdf - Save - You have no way to download the pdf Since https://github.com/odoo/odoo/commit/8a755d58330218b550efc0fea2f98800151c09a5 This commit allow users to do it by adding a new download button between the existing edit and remove button. Since opw-4630186
Fixed an issue in Restaurant Point of Sale where the second order created from a split bill could be saved without its point-of-sale reference. This ensures all paid split bills are properly identifiable in order records, improving traceability and back-office reconciliation.
Original PR description
Steps: - install `pos_restaurant` - open pos restaurant - create new order - add two products - split the bill in two - 1 product per bill - pay for both of them - go to pos.order - the second bill…
Steps: - install `pos_restaurant` - open pos restaurant - create new order - add two products - split the bill in two - 1 product per bill - pay for both of them - go to pos.order - the second bill does not have `pos_reference` When we split a bill in two, for example, we'll transform our order into two orders. This is done in `createSplittedOrder` via the method ` this.pos.createNewOrder()`. The `pos.order` is created in it and via `getNextOrderRefs` is called to set some values retrieved from the `get_next_order_refs` server, such as the `pos_reference`, `sequence_number` etc... Except that `getNextOrderRefs` is an asynchronous function, as it emits an rpc call. The problem is that in `createSplittedOrder` we never wait for this rpc call to finish before continuing, which causes our bug: the second order created contains no `pos_reference`. The solution provided by this commit is to use the asynchronism of `getNextOrderRefs` by using an optional callback passed to `getNextOrderRefs.then()` to make sure we've received the information from the server before continuing. With this method we don't change `createNewOrder` => it will still returns an order and not a `Promise` opw-4573422