From ebe526241f076798c7d737ac30f715f5ccfacad9 Mon Sep 17 00:00:00 2001 From: Samuel Degueldre Date: Tue, 23 May 2023 07:35:24 +0000 Subject: [PATCH] [REF] point_of_sale, pos_restaurant, pos_sale: remove useless base class The IndependentToOrderScreen base class is used when a main screen should not be stored on the order (so that it can be restored when the order is selected again). Its implementation is simply a class with a static flag, and a super simple close method which just calls the equivalent method on the pos store. It has been removed and the classes extending it have been adapted. Part-of: odoo/odoo#122035 --- .../src/js/Misc/IndependentToOrderScreen.js | 15 --------------- .../src/js/Screens/TicketScreen/TicketScreen.js | 13 +++++-------- .../src/xml/Screens/TicketScreen/TicketScreen.xml | 2 +- .../static/src/js/Screens/TicketScreen.js | 2 +- .../xml/Screens/ProductScreen/ActionpadWidget.xml | 2 +- .../SaleOrderManagementScreen.js | 8 ++++---- .../SaleOrderManagementControlPanel.xml | 2 +- .../SaleOrderManagementScreen.xml | 1 - 8 files changed, 13 insertions(+), 32 deletions(-) delete mode 100644 addons/point_of_sale/static/src/js/Misc/IndependentToOrderScreen.js diff --git a/addons/point_of_sale/static/src/js/Misc/IndependentToOrderScreen.js b/addons/point_of_sale/static/src/js/Misc/IndependentToOrderScreen.js deleted file mode 100644 index 153caff7442..00000000000 --- a/addons/point_of_sale/static/src/js/Misc/IndependentToOrderScreen.js +++ /dev/null @@ -1,15 +0,0 @@ -/** @odoo-module */ - -import { Component } from "@odoo/owl"; -import { usePos } from "@point_of_sale/app/pos_hook"; - -export class IndependentToOrderScreen extends Component { - static storeOnOrder = false; - setup() { - super.setup(...arguments); - this.pos = usePos(); - } - close() { - this.pos.closeScreen(); - } -} diff --git a/addons/point_of_sale/static/src/js/Screens/TicketScreen/TicketScreen.js b/addons/point_of_sale/static/src/js/Screens/TicketScreen/TicketScreen.js index d968f294884..6c5c901fb8e 100644 --- a/addons/point_of_sale/static/src/js/Screens/TicketScreen/TicketScreen.js +++ b/addons/point_of_sale/static/src/js/Screens/TicketScreen/TicketScreen.js @@ -1,7 +1,6 @@ /** @odoo-module */ import { Order } from "@point_of_sale/js/models"; -import { IndependentToOrderScreen } from "@point_of_sale/js/Misc/IndependentToOrderScreen"; import { registry } from "@web/core/registry"; import { useService } from "@web/core/utils/hooks"; import { deserializeDateTime } from "@web/core/l10n/dates"; @@ -18,12 +17,13 @@ import { OrderDetails } from "../TicketScreen/OrderDetails"; import { ReprintReceiptButton } from "./ControlButtons/ReprintReceiptButton"; import { SearchBar } from "../../Misc/SearchBar"; import { usePos } from "@point_of_sale/app/pos_hook"; -import { onMounted, useState } from "@odoo/owl"; +import { Component, onMounted, useState } from "@odoo/owl"; import { sprintf } from "@web/core/utils/strings"; const { DateTime } = luxon; -export class TicketScreen extends IndependentToOrderScreen { +export class TicketScreen extends Component { + static storeOnOrder = false; static template = "TicketScreen"; static components = { ActionpadWidget, @@ -80,9 +80,6 @@ export class TicketScreen extends IndependentToOrderScreen { } //#endregion //#region EVENT HANDLERS - onCloseScreen() { - this.close(); - } async onFilterSelected(selectedFilter) { this._state.ui.filter = selectedFilter; if (this._state.ui.filter == "SYNCED") { @@ -282,7 +279,7 @@ export class TicketScreen extends IndependentToOrderScreen { globalState.set_order(destinationOrder); } - this.onCloseScreen(); + this.pos.closeScreen(); } //#endregion //#region PUBLIC METHODS @@ -564,7 +561,7 @@ export class TicketScreen extends IndependentToOrderScreen { globalState.sendDraftToServer(); } globalState.set_order(order); - this.close(); + this.pos.closeScreen(); } _getOrderList() { return this.pos.globalState.get_order_list(); diff --git a/addons/point_of_sale/static/src/xml/Screens/TicketScreen/TicketScreen.xml b/addons/point_of_sale/static/src/xml/Screens/TicketScreen/TicketScreen.xml index 9e6bba7427b..8e81592a561 100644 --- a/addons/point_of_sale/static/src/xml/Screens/TicketScreen/TicketScreen.xml +++ b/addons/point_of_sale/static/src/xml/Screens/TicketScreen/TicketScreen.xml @@ -8,7 +8,7 @@
- diff --git a/addons/pos_sale/static/src/js/OrderManagementScreen/SaleOrderManagementScreen.js b/addons/pos_sale/static/src/js/OrderManagementScreen/SaleOrderManagementScreen.js index 8761a302452..470aa7bc67f 100644 --- a/addons/pos_sale/static/src/js/OrderManagementScreen/SaleOrderManagementScreen.js +++ b/addons/pos_sale/static/src/js/OrderManagementScreen/SaleOrderManagementScreen.js @@ -5,7 +5,6 @@ import { parseFloat } from "@web/views/fields/parsers"; import { useBus, useService } from "@web/core/utils/hooks"; import { registry } from "@web/core/registry"; import { ControlButtonsMixin } from "@point_of_sale/js/ControlButtonsMixin"; -import { IndependentToOrderScreen } from "@point_of_sale/js/Misc/IndependentToOrderScreen"; import { Orderline } from "@point_of_sale/js/models"; import { SelectionPopup } from "@point_of_sale/js/Popups/SelectionPopup"; @@ -15,7 +14,7 @@ import { NumberPopup } from "@point_of_sale/js/Popups/NumberPopup"; import { SaleOrderList } from "./SaleOrderList"; import { SaleOrderManagementControlPanel } from "./SaleOrderManagementControlPanel"; -import { onMounted, useRef } from "@odoo/owl"; +import { Component, onMounted, useRef } from "@odoo/owl"; import { usePos } from "@point_of_sale/app/pos_hook"; /** @@ -27,7 +26,8 @@ function getId(fieldVal) { return fieldVal && fieldVal[0]; } -export class SaleOrderManagementScreen extends ControlButtonsMixin(IndependentToOrderScreen) { +export class SaleOrderManagementScreen extends ControlButtonsMixin(Component) { + static storeOnOrder = false; static components = { SaleOrderList, SaleOrderManagementControlPanel }; static template = "SaleOrderManagementScreen"; @@ -377,7 +377,7 @@ export class SaleOrderManagementScreen extends ControlButtonsMixin(IndependentTo } } - this.close(); + this.pos.closeScreen(); } } diff --git a/addons/pos_sale/static/src/xml/OrderManagementScreen/SaleOrderManagementControlPanel.xml b/addons/pos_sale/static/src/xml/OrderManagementScreen/SaleOrderManagementControlPanel.xml index 2e04f13cf45..a6add8812d5 100644 --- a/addons/pos_sale/static/src/xml/OrderManagementScreen/SaleOrderManagementControlPanel.xml +++ b/addons/pos_sale/static/src/xml/OrderManagementScreen/SaleOrderManagementControlPanel.xml @@ -3,7 +3,7 @@
-
+
Back
diff --git a/addons/pos_sale/static/src/xml/OrderManagementScreen/SaleOrderManagementScreen.xml b/addons/pos_sale/static/src/xml/OrderManagementScreen/SaleOrderManagementScreen.xml index 4a7321142eb..e731b48061d 100644 --- a/addons/pos_sale/static/src/xml/OrderManagementScreen/SaleOrderManagementScreen.xml +++ b/addons/pos_sale/static/src/xml/OrderManagementScreen/SaleOrderManagementScreen.xml @@ -6,7 +6,6 @@