From 7bbd330f486df9e7b5a64a20f7bcbe73bd205922 Mon Sep 17 00:00:00 2001 From: AjmalCybro Date: Wed, 5 Mar 2025 12:01:14 +0530 Subject: [PATCH] Mar 5 [UPDT] : Updated 'pos_kitchen_screen_odoo' --- pos_kitchen_screen_odoo/doc/RELEASE_NOTES.md | 6 ++++++ .../static/src/js/kitchen_screen.js | 18 +++++++++++++++--- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/pos_kitchen_screen_odoo/doc/RELEASE_NOTES.md b/pos_kitchen_screen_odoo/doc/RELEASE_NOTES.md index 4fe5c58db..679a6a6ed 100644 --- a/pos_kitchen_screen_odoo/doc/RELEASE_NOTES.md +++ b/pos_kitchen_screen_odoo/doc/RELEASE_NOTES.md @@ -21,3 +21,9 @@ #### Version 17.0.1.0.4 #### BUG FIX - Fix the issue - Floor and Time is not showing in the kitchen display. + +#### 01.03.2025 +#### Version 17.0.1.1.4 +#### UPDT +- UPDT - Added a new feature that automatically removes kitchen screen orders + when the session is closed. diff --git a/pos_kitchen_screen_odoo/static/src/js/kitchen_screen.js b/pos_kitchen_screen_odoo/static/src/js/kitchen_screen.js index d0220cb29..e46cf7395 100644 --- a/pos_kitchen_screen_odoo/static/src/js/kitchen_screen.js +++ b/pos_kitchen_screen_odoo/static/src/js/kitchen_screen.js @@ -25,8 +25,20 @@ class kitchen_screen_dashboard extends Component { draft_count:[], waiting_count:[], ready_count:[], - lines:[] + lines:[], + session_ids: [] // <-- Store open session IDs here }); + // Fetch Open POS Sessions + this.orm.call("pos.session", "search_read", [[ + ["state", "=", "opened"] // Get only open sessions + ]]).then(function(sessions) { + if (sessions.length > 0) { + self.state.session_ids = sessions.map(session => session.id); // Store session IDs in state + } else { + self.state.session_ids = [] + } + }); + var session_shop_id; //if refreshing the page then the last passed context (shop id) //save to the session storage @@ -39,7 +51,7 @@ class kitchen_screen_dashboard extends Component { this.shop_id = parseInt(session_shop_id, 10);; } self.orm.call("pos.order", "get_details", ["", self.shop_id,""]).then(function(result) { - self.state.order_details = result['orders'] + self.state.order_details = result['orders'].filter(order => order.session_id && self.state.session_ids.includes(order.session_id[0])); self.state.lines = result['order_lines'] self.state.shop_id=self.shop_id self.state.draft_count=self.state.order_details.filter((order) => order.order_status=='draft' && order.config_id[0]==self.state.shop_id).length @@ -54,7 +66,7 @@ class kitchen_screen_dashboard extends Component { var self=this if(payload.message == "pos_order_created" && payload.res_model == "pos.order"){ self.orm.call("pos.order", "get_details", ["", self.shop_id,""]).then(function(result) { - self.state.order_details = result['orders'] + self.state.order_details = result['orders'].filter(order => order.session_id && self.state.session_ids.includes(order.session_id[0])); self.state.lines = result['order_lines'] self.state.shop_id=self.shop_id self.state.draft_count=self.state.order_details.filter((order) => order.order_status=='draft' && order.config_id[0]==self.state.shop_id).length