From ef05b6ef5518f31a137cc1be98ea0384de5c6b9e Mon Sep 17 00:00:00 2001 From: "Theo VINCENT (thvi)" Date: Thu, 6 Jul 2023 09:25:41 +0000 Subject: [PATCH] [FIX] pos_restaurant: fix tips after payment flow - Fixes tips ticket printing when there are tips after payment. - Makes the ReceiptScreen opened after TipScreen, to show the receipt screen even when there is a tip added after payment. closes odoo/odoo#127548 Task-id: 3394214 Signed-off-by: Joseph Caburnay (jcb) --- addons/point_of_sale/static/src/scss/pos.scss | 4 ++-- .../pos_restaurant/static/src/js/Screens/TipScreen.js | 10 +++------- .../static/tests/tours/TipScreen.tour.js | 2 ++ 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/addons/point_of_sale/static/src/scss/pos.scss b/addons/point_of_sale/static/src/scss/pos.scss index 36ad6b36af3..a837a87ed87 100644 --- a/addons/point_of_sale/static/src/scss/pos.scss +++ b/addons/point_of_sale/static/src/scss/pos.scss @@ -1786,12 +1786,12 @@ td { .pos, .pos * { position: static !important; } - .pos .receipt-screen .pos-receipt-container { + .pos .pos-receipt-container { position: absolute !important; top: 0; left: 0; } - .pos .receipt-screen .pos-receipt-container, .pos .receipt-screen .pos-receipt-container * { + .pos .pos-receipt-container, .pos .pos-receipt-container * { visibility: visible; background: white !important; color: black !important; diff --git a/addons/pos_restaurant/static/src/js/Screens/TipScreen.js b/addons/pos_restaurant/static/src/js/Screens/TipScreen.js index 11eabd6aba0..150fe91bfd1 100644 --- a/addons/pos_restaurant/static/src/js/Screens/TipScreen.js +++ b/addons/pos_restaurant/static/src/js/Screens/TipScreen.js @@ -102,12 +102,7 @@ export class TipScreen extends Component { this.pos.showScreen(name, props); } get nextScreen() { - if (this.pos.config.module_pos_restaurant) { - const table = this.pos.table; - return { name: "FloorScreen", props: { floor: table ? table.floor : null } }; - } else { - return { name: "ProductScreen" }; - } + return { name: "ReceiptScreen" }; } async printTipReceipt() { const receipts = [ @@ -143,7 +138,8 @@ export class TipScreen extends Component { async _printWeb(receipt) { try { - this.posReceiptContainer.el.innerHTML = receipt; + this.posReceiptContainer.el.textContent = ""; + this.posReceiptContainer.el.appendChild(receipt); window.print(); } catch { await this.popup.add(ErrorPopup, { diff --git a/addons/pos_restaurant/static/tests/tours/TipScreen.tour.js b/addons/pos_restaurant/static/tests/tours/TipScreen.tour.js index 5deb4b4e931..ee3aaa6100b 100644 --- a/addons/pos_restaurant/static/tests/tours/TipScreen.tour.js +++ b/addons/pos_restaurant/static/tests/tours/TipScreen.tour.js @@ -141,6 +141,8 @@ PaymentScreen.do.clickPaymentMethod("Bank"); PaymentScreen.do.clickValidate(); TipScreen.check.isShown(); TipScreen.do.clickSettle(); +ReceiptScreen.check.isShown(); +ReceiptScreen.do.clickNextOrder(); FloorScreen.check.isShown(); registry