From cf30edc741e37e9d2e626f45b467f0f1a42354f7 Mon Sep 17 00:00:00 2001 From: Pierre Masereel Date: Fri, 27 Aug 2021 08:55:23 +0000 Subject: [PATCH] [FIX] pos_sale: correctly manage mobile view When we want to open a quotation from the mobile view, we are redirected to the POS Orders instead of the sale order. This is because we are calling the wrong owl component. Part-of: odoo/odoo#75682 --- addons/pos_sale/__manifest__.py | 1 + .../MobileSaleOrderManagementScreen.js | 25 +++++++++++++++++++ .../MobileSaleOrderManagementScreen.xml | 4 +-- .../SaleOrderManagementScreen.xml | 2 +- 4 files changed, 29 insertions(+), 3 deletions(-) create mode 100644 addons/pos_sale/static/src/js/OrderManagementScreen/MobileSaleOrderManagementScreen.js diff --git a/addons/pos_sale/__manifest__.py b/addons/pos_sale/__manifest__.py index 87d9569f52d..567e5f2d1d5 100644 --- a/addons/pos_sale/__manifest__.py +++ b/addons/pos_sale/__manifest__.py @@ -31,6 +31,7 @@ This module adds a custom Sales Team for the Point of Sale. This enables you to 'pos_sale/static/src/css/pos_sale.css', 'pos_sale/static/src/js/models.js', 'pos_sale/static/src/js/SetSaleOrderButton.js', + 'pos_sale/static/src/js/OrderManagementScreen/MobileSaleOrderManagementScreen.js', 'pos_sale/static/src/js/OrderManagementScreen/SaleOrderFetcher.js', 'pos_sale/static/src/js/OrderManagementScreen/SaleOrderList.js', 'pos_sale/static/src/js/OrderManagementScreen/SaleOrderManagementControlPanel.js', diff --git a/addons/pos_sale/static/src/js/OrderManagementScreen/MobileSaleOrderManagementScreen.js b/addons/pos_sale/static/src/js/OrderManagementScreen/MobileSaleOrderManagementScreen.js new file mode 100644 index 00000000000..b126a099094 --- /dev/null +++ b/addons/pos_sale/static/src/js/OrderManagementScreen/MobileSaleOrderManagementScreen.js @@ -0,0 +1,25 @@ +odoo.define('point_of_sale.MobileSaleOrderManagementScreen', function (require) { + const SaleOrderManagementScreen = require('pos_sale.SaleOrderManagementScreen'); + const Registries = require('point_of_sale.Registries'); + const { useListener } = require('web.custom_hooks'); + const { useState } = owl.hooks; + + const MobileSaleOrderManagementScreen = (SaleOrderManagementScreen) => { + class MobileSaleOrderManagementScreen extends SaleOrderManagementScreen { + constructor() { + super(...arguments); + useListener('click-order', this._onShowDetails) + this.mobileState = useState({ showDetails: false }); + } + _onShowDetails() { + this.mobileState.showDetails = true; + } + } + MobileSaleOrderManagementScreen.template = 'MobileSaleOrderManagementScreen'; + return MobileSaleOrderManagementScreen; + }; + + Registries.Component.addByExtending(MobileSaleOrderManagementScreen, SaleOrderManagementScreen); + + return MobileSaleOrderManagementScreen; +}); diff --git a/addons/pos_sale/static/src/xml/OrderManagementScreen/MobileSaleOrderManagementScreen.xml b/addons/pos_sale/static/src/xml/OrderManagementScreen/MobileSaleOrderManagementScreen.xml index f1ca0d070c5..ce32debfd62 100644 --- a/addons/pos_sale/static/src/xml/OrderManagementScreen/MobileSaleOrderManagementScreen.xml +++ b/addons/pos_sale/static/src/xml/OrderManagementScreen/MobileSaleOrderManagementScreen.xml @@ -21,8 +21,8 @@
- - + +
diff --git a/addons/pos_sale/static/src/xml/OrderManagementScreen/SaleOrderManagementScreen.xml b/addons/pos_sale/static/src/xml/OrderManagementScreen/SaleOrderManagementScreen.xml index 7101ecba9b3..0f9e8b59f36 100644 --- a/addons/pos_sale/static/src/xml/OrderManagementScreen/SaleOrderManagementScreen.xml +++ b/addons/pos_sale/static/src/xml/OrderManagementScreen/SaleOrderManagementScreen.xml @@ -11,7 +11,7 @@ - +