Tuesday, December 17, 2024
3 changes · saas-17.4
Resolved issues and error corrections
When a restaurant order is paid on one device, other devices will now return to the floor screen instead of showing outdated order details. This prevents staff from thinking there are still unpaid orders when the order has already been settled.
Original PR description
Before this commit, when the same order is opened on two devices and the order is settled on one of the devices, a weird behavior is observed on the other devices, where a new empty order is being created, but the display still shows the items of the previous order. This leads to users thinking they have more orders to settle than reality. Steps to reproduce ------------------ 1. clean DB with pos_restaurant installed and at least one product configured 2. open the pos session on two separate devices D1 and D2 3. on D1, create a new order O1 4. While keeping O1 open on D1, open it as well on D2 5. settle O1 on D2 6. the summary of O1 is still visible on D1 even though it ceated a new order in the background. You will need to go back to floor screen to see the changes. This commit proposes to force going back to the Floor Screen in such cases, to avoid any confusion.
This fix prevents paid Point of Sale orders from reverting to draft after an offline sale, reconnect, and page refresh. It helps preserve receipt and payment tracking, reducing the risk of lost order records for store operations.
Original PR description
Before this commit, if you opened the PoS, made it offline, validated an order, stayed on the receipt screen, then made the PoS online and refreshed the page, the paid order would become a draft order. This caused the loss of tracking for the paid receipt-printed order. This issue occurred because using readAll prevented the effect from triggering on data modification. opw-4371425 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The update reduces unnecessary server calls when timers are running, making timer-related screens more efficient and responsive. It also fixes an issue where users could not change the project on certain helpdesk-linked timesheets while a timer was active.
Original PR description
Before this commit, the `get_server_time` is called each time a timer reactive is created in a component since the server offset is computed thanks to that method is only stored in the timer reactive object. This commit creates a timer service as before to be able to contain the data fetched by the server to avoid having to fetch it again each time the timer is running. task-4361124