diff --git a/addons/point_of_sale/static/src/app/screens/receipt_screen/receipt/receipt_header/receipt_header.js b/addons/point_of_sale/static/src/app/screens/receipt_screen/receipt/receipt_header/receipt_header.js index bc08cf75157..170625aeafc 100644 --- a/addons/point_of_sale/static/src/app/screens/receipt_screen/receipt/receipt_header/receipt_header.js +++ b/addons/point_of_sale/static/src/app/screens/receipt_screen/receipt/receipt_header/receipt_header.js @@ -11,7 +11,6 @@ export class ReceiptHeader extends Component { company: Object, header: { type: [String, { value: false }], optional: true }, cashier: { type: String, optional: true }, - trackingNumber: { type: String, optional: true }, "*": true, }, }, diff --git a/addons/pos_online_payment_self_order/static/src/components/order_widget/order_widget.js b/addons/pos_online_payment_self_order/static/src/components/order_widget/order_widget.js index 11981e0ea9e..1111c284a18 100644 --- a/addons/pos_online_payment_self_order/static/src/components/order_widget/order_widget.js +++ b/addons/pos_online_payment_self_order/static/src/components/order_widget/order_widget.js @@ -9,13 +9,19 @@ patch(OrderWidget.prototype, { const type = this.selfOrder.config.self_ordering_mode; const mode = this.selfOrder.config.self_ordering_pay_after; const isOnlinePayment = this.selfOrder.pos_payment_methods.find((p) => p.is_online_payment); + const order = this.selfOrder.currentOrder; + const isNoLine = order.lines.length === 0; if (type === "kiosk") { return super.buttonToShow; } + if (order.amount_total === 0 && !isNoLine) { + return { label: _t("Order"), disabled: false }; + } + if (mode === "each") { - return { label: buttonName, disabled: false }; + return { label: buttonName, disabled: isNoLine }; } else if (mode === "meal") { const order = this.selfOrder.currentOrder; diff --git a/addons/pos_restaurant/static/src/overrides/components/payment_screen/payment_screen.js b/addons/pos_restaurant/static/src/overrides/components/payment_screen/payment_screen.js index 660007af890..59c67ff17fc 100644 --- a/addons/pos_restaurant/static/src/overrides/components/payment_screen/payment_screen.js +++ b/addons/pos_restaurant/static/src/overrides/components/payment_screen/payment_screen.js @@ -11,7 +11,7 @@ patch(PaymentScreen.prototype, { } // Take the first payment method as the main payment. const mainPayment = order.get_paymentlines()[0]; - if (mainPayment.canBeAdjusted()) { + if (mainPayment && mainPayment.canBeAdjusted()) { return "TipScreen"; } return super.nextScreen; diff --git a/addons/pos_self_order/controllers/orders.py b/addons/pos_self_order/controllers/orders.py index 20ae52674f9..0e0eb1ab321 100644 --- a/addons/pos_self_order/controllers/orders.py +++ b/addons/pos_self_order/controllers/orders.py @@ -75,8 +75,10 @@ class PosSelfOrderController(http.Controller): # combo lines must be created after classic_line, as they need the classic line identifier lines = pos_config.env['pos.order.line'].create(classic_lines) lines += pos_config.env['pos.order.line'].create(combo_lines) + order.write({ 'lines': lines, + 'state': 'paid' if amount_total == 0 and pos_config.self_ordering_pay_after == 'each' else 'draft', 'amount_tax': amount_total - amount_untaxed, 'amount_total': amount_total, }) diff --git a/addons/pos_self_order/static/src/app/components/order_widget/order_widget.js b/addons/pos_self_order/static/src/app/components/order_widget/order_widget.js index 74e8109b507..2bf18326ccf 100644 --- a/addons/pos_self_order/static/src/app/components/order_widget/order_widget.js +++ b/addons/pos_self_order/static/src/app/components/order_widget/order_widget.js @@ -58,6 +58,10 @@ export class OrderWidget extends Component { disabled = !kioskPayment && !isMobilePayment; } + if (this.selfOrder.currentOrder.amount_total === 0) { + label = _t("Order"); + } + return { label, disabled }; } diff --git a/addons/pos_self_order/static/src/app/pages/confirmation_page/confirmation_page.xml b/addons/pos_self_order/static/src/app/pages/confirmation_page/confirmation_page.xml index c718c421919..80b8232b790 100644 --- a/addons/pos_self_order/static/src/app/pages/confirmation_page/confirmation_page.xml +++ b/addons/pos_self_order/static/src/app/pages/confirmation_page/confirmation_page.xml @@ -11,7 +11,7 @@