From ca2531d9c32bc7bb345ac75df6e09fdccdd1b3f3 Mon Sep 17 00:00:00 2001 From: Joseph Caburnay Date: Mon, 4 Jul 2022 14:35:50 +0000 Subject: [PATCH] [FIX] pos_sale: fix screen to show Because MobileSaleOrderManagementScreen is rendered inside SaleOrderManagementScreen, the `useListener` calls in SaleOrderManagementScreen are called twice. This is because MobileSaleOrderManagementScreen is derived from SaleOrderManagementScreen. Because of this, when an event is triggered in the SaleOrderManagementScreen, say the 'click-sale-order', the handlers are called twice. To fix this, we should not render MobileSaleOrderManagementScreen inside the SaleOrderManagementScreen anymore. Instead, depending on the screen size of the device, identified using `env.isMobile`, we show the appropriate screen, that is, when `isMobile` is true, we show MobileSaleOrderManagementScreen otherwise, we show SaleOrderManagementScreen. closes odoo/odoo#95282 X-original-commit: 6a8a43d09a798be3dfc5581561b67bc5c5521634 Signed-off-by: Masereel Pierre --- addons/pos_sale/static/src/js/SetSaleOrderButton.js | 3 ++- .../OrderManagementScreen/MobileSaleOrderManagementScreen.xml | 2 ++ .../xml/OrderManagementScreen/SaleOrderManagementScreen.xml | 3 --- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/addons/pos_sale/static/src/js/SetSaleOrderButton.js b/addons/pos_sale/static/src/js/SetSaleOrderButton.js index 2c7633a5599..c20feab97c2 100644 --- a/addons/pos_sale/static/src/js/SetSaleOrderButton.js +++ b/addons/pos_sale/static/src/js/SetSaleOrderButton.js @@ -30,7 +30,8 @@ odoo.define('pos_sale.SetSaleOrderButton', function(require) { // LegacyComponent doesn't work the same way as before. // We need to use Gui here to show the screen. This will work // because ui methods in Gui is bound to the root component. - Gui.showScreen('SaleOrderManagementScreen'); + const screen = this.env.isMobile ? 'MobileSaleOrderManagementScreen' : 'SaleOrderManagementScreen'; + Gui.showScreen(screen); } catch (error) { if (isConnectionError(error)) { this.showPopup('ErrorPopup', { diff --git a/addons/pos_sale/static/src/xml/OrderManagementScreen/MobileSaleOrderManagementScreen.xml b/addons/pos_sale/static/src/xml/OrderManagementScreen/MobileSaleOrderManagementScreen.xml index a4f09ee51d7..837874a4851 100644 --- a/addons/pos_sale/static/src/xml/OrderManagementScreen/MobileSaleOrderManagementScreen.xml +++ b/addons/pos_sale/static/src/xml/OrderManagementScreen/MobileSaleOrderManagementScreen.xml @@ -2,6 +2,7 @@
+
@@ -26,5 +27,6 @@
+
diff --git a/addons/pos_sale/static/src/xml/OrderManagementScreen/SaleOrderManagementScreen.xml b/addons/pos_sale/static/src/xml/OrderManagementScreen/SaleOrderManagementScreen.xml index 0f9e8b59f36..111488575ca 100644 --- a/addons/pos_sale/static/src/xml/OrderManagementScreen/SaleOrderManagementScreen.xml +++ b/addons/pos_sale/static/src/xml/OrderManagementScreen/SaleOrderManagementScreen.xml @@ -3,15 +3,12 @@
-
-
-