diff --git a/addons/pos_self_order/controllers/entry.py b/addons/pos_self_order/controllers/entry.py index 4c103527d85..e0b2dad0de2 100644 --- a/addons/pos_self_order/controllers/entry.py +++ b/addons/pos_self_order/controllers/entry.py @@ -31,15 +31,16 @@ class PosQRMenuController(http.Controller): auth="public", website=True, sitemap=True, ) def pos_self_order_start(self, config_id=None, access_token=None, table_identifier=None): - if config_id.isnumeric(): + self_order_mode = 'qr_code' + table_infos = False + pos_config_sudo = False + pos_config_access_token = False + + if config_id and config_id.isnumeric(): pos_config_sudo = request.env["pos.config"].sudo().search([ ("id", "=", config_id), ('access_token', '=', access_token)], limit=1) - self_order_mode = 'qr_code' - table_infos = False - pos_config_access_token = False - if pos_config_sudo and pos_config_sudo.has_active_session and pos_config_sudo.self_order_table_mode: self_order_mode = pos_config_sudo.self_order_pay_after pos_config_access_token = pos_config_sudo.access_token diff --git a/addons/pos_self_order/static/src/components/lines/lines.xml b/addons/pos_self_order/static/src/components/lines/lines.xml index 881443efb2c..d1881433bc4 100644 --- a/addons/pos_self_order/static/src/components/lines/lines.xml +++ b/addons/pos_self_order/static/src/components/lines/lines.xml @@ -10,11 +10,13 @@

- +
+ + +
-

diff --git a/addons/pos_self_order/static/src/pages/orders_history/orders_history.js b/addons/pos_self_order/static/src/pages/orders_history/orders_history.js index 19f812df301..f5df995aaaf 100644 --- a/addons/pos_self_order/static/src/pages/orders_history/orders_history.js +++ b/addons/pos_self_order/static/src/pages/orders_history/orders_history.js @@ -6,7 +6,7 @@ import { ProductCard } from "@pos_self_order/components/product_card/product_car import { Lines } from "@pos_self_order/components/lines/lines"; import { PriceDetails } from "@pos_self_order/components/price_details/price_details"; import { NavBar } from "@pos_self_order/components/navbar/navbar"; -import { _t } from "@web/core/l10n/translation"; +import { useService } from "@web/core/utils/hooks"; export class OrdersHistory extends Component { static template = "pos_self_order.OrdersHistory"; @@ -15,6 +15,7 @@ export class OrdersHistory extends Component { setup() { this.selfOrder = useSelfOrder(); + this.router = useService("router"); this.state = useState({ loadingProgress: true, }); @@ -35,10 +36,6 @@ export class OrdersHistory extends Component { if (order.state === "draft") { this.selfOrder.editedOrder = order; this.router.navigate("productList"); - } else { - this.selfOrder.notification.add(_t("You cannot edit an posted order!"), { - type: "danger", - }); } } } diff --git a/addons/pos_self_order/static/src/pages/orders_history/orders_history.xml b/addons/pos_self_order/static/src/pages/orders_history/orders_history.xml index 0a8b4f502fe..2b41234e7a9 100644 --- a/addons/pos_self_order/static/src/pages/orders_history/orders_history.xml +++ b/addons/pos_self_order/static/src/pages/orders_history/orders_history.xml @@ -1,7 +1,7 @@ - +
@@ -11,13 +11,13 @@
- +
-

- +
o.qty > 0); - this.router.back(); + + if (this.selfOrder.currentOrder.lines.length === 0) { + this.router.navigate("productList"); + } else { + this.router.back(); + } } } diff --git a/addons/pos_self_order/static/src/pages/product_main_view/product_main_view.xml b/addons/pos_self_order/static/src/pages/product_main_view/product_main_view.xml index 2ed39b0acce..a7ce0be80b1 100644 --- a/addons/pos_self_order/static/src/pages/product_main_view/product_main_view.xml +++ b/addons/pos_self_order/static/src/pages/product_main_view/product_main_view.xml @@ -2,7 +2,7 @@
- +
-
+
+
+ + The restaurant is currently closed +
diff --git a/addons/pos_self_order/static/src/self_order_service.js b/addons/pos_self_order/static/src/self_order_service.js index ff1020e5c78..e73f3ad39c4 100644 --- a/addons/pos_self_order/static/src/self_order_service.js +++ b/addons/pos_self_order/static/src/self_order_service.js @@ -46,14 +46,7 @@ export class SelfOrder { effect((state) => this.saveOrderToLocalStorage(state.orders), [this]); } - if (!this.has_active_session || this.self_order_mode === "qr_code") { - this.closeNotification = this.notification.add( - _t( - "The restaurant is closed. You can browse the menu, but ordering is not available." - ), - { type: "warning" } - ); - } else { + if (this.has_active_session && this.self_order_mode !== "qr_code") { this.ordering = true; } @@ -137,7 +130,7 @@ export class SelfOrder { }); this.editedOrder.access_token = order.access_token; - this.updateOrdersFromServer([order], [this.access_token]); + this.updateOrdersFromServer([order], [order.access_token]); this.editedOrder.computelastChangesSent(); if (this.self_order_mode === "each") { diff --git a/addons/pos_self_order/static/tests/tours/self_order_after_each_cart_tour.js b/addons/pos_self_order/static/tests/tours/self_order_after_each_cart_tour.js index 346de06a17c..ac8afe1496b 100644 --- a/addons/pos_self_order/static/tests/tours/self_order_after_each_cart_tour.js +++ b/addons/pos_self_order/static/tests/tours/self_order_after_each_cart_tour.js @@ -8,10 +8,7 @@ registry.category("web_tour.tours").add("self_order_after_each_cart_tour", { steps: [ // Verify if the self is open and My Orders is not displayed because we are in "meal" mode PosSelf.check.isNotNotification(), - PosSelf.check.isPrimaryBtn("My Orders"), - PosSelf.action.clickPrimaryBtn("My Orders"), - PosSelf.check.isNoOrderInHistory(), - PosSelf.action.clickBack(), + PosSelf.check.isNotPrimaryBtn("My Orders"), PosSelf.action.clickPrimaryBtn("View Menu"), // Add some products diff --git a/addons/pos_self_order/static/tests/tours/self_order_after_meal_cart_tour.js b/addons/pos_self_order/static/tests/tours/self_order_after_meal_cart_tour.js index 5b76ac3e614..5c1e821b0ac 100644 --- a/addons/pos_self_order/static/tests/tours/self_order_after_meal_cart_tour.js +++ b/addons/pos_self_order/static/tests/tours/self_order_after_meal_cart_tour.js @@ -90,5 +90,10 @@ registry.category("web_tour.tours").add("self_order_after_meal_cart_tour", { PosSelf.check.isOrderline("Desk Organizer", "5.87", "dav", "S, Custom"), PosSelf.check.isOrderline("Desk Organizer", "11.74", "okkk", "L, Custom"), PosSelf.action.clickPrimaryBtn("Order"), + + PosSelf.action.clickBack(), + PosSelf.check.isPrimaryBtn("My Orders"), + PosSelf.action.clickPrimaryBtn("My Orders"), + PosSelf.action.clickBack(), ], });