diff --git a/addons/point_of_sale/static/src/app/generic_components/orderline/orderline.js b/addons/point_of_sale/static/src/app/generic_components/orderline/orderline.js index 5376c340fb7..7f1e53b470a 100644 --- a/addons/point_of_sale/static/src/app/generic_components/orderline/orderline.js +++ b/addons/point_of_sale/static/src/app/generic_components/orderline/orderline.js @@ -2,9 +2,6 @@ import { Component } from "@odoo/owl"; -/** - * How to extend this component: - */ export class Orderline extends Component { static template = "point_of_sale.Orderline"; static props = { diff --git a/addons/point_of_sale/static/src/app/screens/ticket_screen/ticket_screen.js b/addons/point_of_sale/static/src/app/screens/ticket_screen/ticket_screen.js index 937e279bc8b..99555c73835 100644 --- a/addons/point_of_sale/static/src/app/screens/ticket_screen/ticket_screen.js +++ b/addons/point_of_sale/static/src/app/screens/ticket_screen/ticket_screen.js @@ -117,32 +117,14 @@ export class TicketScreen extends Component { } } onClickOrder(clickedOrder) { - if (!clickedOrder || clickedOrder.locked) { - this._state.ui.selectedOrder = clickedOrder; - if (!this.getSelectedOrderlineId()) { - // Automatically select the first orderline of the selected order. - const firstLine = this._state.ui.selectedOrder.get_orderlines()[0]; - if (firstLine) { - this._state.ui.selectedOrderlineIds[clickedOrder.backendId] = firstLine.id; - } + this._state.ui.selectedOrder = clickedOrder; + this.numberBuffer.reset(); + if ((!clickedOrder || clickedOrder.locked) && !this.getSelectedOrderlineId()) { + // Automatically select the first orderline of the selected order. + const firstLine = this._state.ui.selectedOrder.get_orderlines()[0]; + if (firstLine) { + this._state.ui.selectedOrderlineIds[clickedOrder.backendId] = firstLine.id; } - this.numberBuffer.reset(); - } else { - if ( - !this._state.ui.selectedOrder || - clickedOrder.uid !== this._state.ui.selectedOrder.uid - ) { - this.dbclk_time = new Date().getTime(); - } else if (!this.dbclk_time) { - this.dbclk_time = new Date().getTime(); - } else if (this.dbclk_time + 500 > new Date().getTime()) { - this._setOrder(clickedOrder); - this.dbclk_time = 0; - } else { - this.dbclk_time = new Date().getTime(); - } - this._state.ui.selectedOrder = clickedOrder; - this.numberBuffer.reset(); } } onCreateNewOrder() { @@ -191,9 +173,6 @@ export class TicketScreen extends Component { if (this.pos.isOpenOrderShareable()) { this.pos._removeOrdersFromServer(); } - // When deleting an order, the double click time should be reset, so that it's not taken into account - // when clicking on another order. - this.dbclk_time = 0; } async onNextPage() { if (this._state.syncedOrders.currentPage < this._getLastPage()) { @@ -650,8 +629,7 @@ export class TicketScreen extends Component { modelField: "pos_reference", }, DATE: { - repr: (order) => - deserializeDate(order.date_order).toFormat("yyyy-MM-dd HH:mm a"), + repr: (order) => deserializeDate(order.date_order).toFormat("yyyy-MM-dd HH:mm a"), displayName: _t("Date"), modelField: "date_order", }, diff --git a/addons/point_of_sale/static/src/app/screens/ticket_screen/ticket_screen.xml b/addons/point_of_sale/static/src/app/screens/ticket_screen/ticket_screen.xml index e8916302632..dd5a97f3236 100644 --- a/addons/point_of_sale/static/src/app/screens/ticket_screen/ticket_screen.xml +++ b/addons/point_of_sale/static/src/app/screens/ticket_screen/ticket_screen.xml @@ -59,7 +59,8 @@
-
+
@@ -88,7 +89,8 @@
-
+
diff --git a/addons/point_of_sale/static/tests/tours/helpers/TicketScreenTourMethods.js b/addons/point_of_sale/static/tests/tours/helpers/TicketScreenTourMethods.js index d1900666e66..b2ccc0af477 100644 --- a/addons/point_of_sale/static/tests/tours/helpers/TicketScreenTourMethods.js +++ b/addons/point_of_sale/static/tests/tours/helpers/TicketScreenTourMethods.js @@ -41,6 +41,14 @@ class Do { }, ]; } + doubleClickOrder(orderName) { + return [ + { + trigger: `.ticket-screen .order-row > .col:nth-child(2):contains("${orderName}")`, + run: "dblclick", + }, + ]; + } loadSelectedOrder() { return [ { diff --git a/addons/pos_restaurant/static/tests/tours/TicketScreen.tour.js b/addons/pos_restaurant/static/tests/tours/TicketScreen.tour.js index e78d447201f..d993b17156c 100644 --- a/addons/pos_restaurant/static/tests/tours/TicketScreen.tour.js +++ b/addons/pos_restaurant/static/tests/tours/TicketScreen.tour.js @@ -47,8 +47,7 @@ registry Chrome.do.clickTicketButton(); TicketScreen.do.deleteOrder("-0003"); Chrome.do.confirmPopup(); - TicketScreen.do.selectOrder("-0002"); - TicketScreen.do.loadSelectedOrder(); + TicketScreen.do.doubleClickOrder("-0002"); ProductScreen.check.isShown(); ProductScreen.check.totalAmountIs("2.0"); Chrome.do.backToFloor();