11848e672c861ceb0a42f094121db77da583827d
Previously, when cancelling an Ingenico transaction, the cancellation was considered done from the POS' point of view even though it hadn't actually finished on the terminal yet. Starting a new transaction from the POS meant it would fail and the POS and terminal's states would get out of sync. In an enterprise PR for the pos_iot module, a fix was made so the cancellation request is only considered done when the terminal has confirmed that. In the case of pressing cancel on a payment line, this means that the button will block and remain in a loading state with a spinner until the operation finishes. After this the user can press the retry button the payment line. There are two other workflows where waiting for the cancel operation to finish wasn't done until now, and that's what this PR is for. The first is when a transaction was requested and the back button was pressed in the UI. This cancels the active transactions. If you wait a while after pressing the back button, the UI will be notified when the cancellation finishes, and the payment line's state will be updated in the local db, even if it's not visible on screen. When you go back to the payment screen, you'll be able to retry the transaction again. In V13, if after pressing the back button you immediately go back to the payment screen, you'll see the spinner of the wait for the cancellation, but it would never update. That's because while the local db gets updated when the cancellation finishes, the payment screen lines didn't get refreshed. Hence in V13 a call was added to `stop_electronic_payment` that re-renders the payment lines (if we are present on the payment screen) once the cancellation finishes. In V14 the UI will already correctly update on its own, so no change is required. The second case is when a transaction is requested and the user deletes the payment line. This used to happen immediately without waiting for anything. This PR changes that so the line goes to the `waitingCancel` state instead, and will only be deleted once the operation finishes. If there's nothing to be cancelled, the line will get deleted immediately like before. opw-2525010 closes odoo/odoo#78414 X-original-commit: 8c1f5dd711a074412b707d30ba3ff3f42945d8a0 Related: odoo/enterprise#21710 Signed-off-by: Raf Geens <raf-odoo@users.noreply.github.com> Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
…
…
Odoo
Odoo is a suite of web based open source business apps.
The main Odoo Apps include an Open Source CRM, Website Builder, eCommerce, Warehouse Management, Project Management, Billing & Accounting, Point of Sale, Human Resources, Marketing, Manufacturing, ...
Odoo Apps can be used as stand-alone applications, but they also integrate seamlessly so you get a full-featured Open Source ERP when you install several Apps.
Getting started with Odoo
For a standard installation please follow the Setup instructions from the documentation.
To learn the software, we recommend the Odoo eLearning, or Scale-up, the business game. Developers can start with the developer tutorials
Languages
Python
49.6%
JavaScript
47.8%
SCSS
2%
CSS
0.3%
HTML
0.2%