diff --git a/pos_kitchen_screen_odoo/__manifest__.py b/pos_kitchen_screen_odoo/__manifest__.py index e2d4342c7..620cd4f82 100644 --- a/pos_kitchen_screen_odoo/__manifest__.py +++ b/pos_kitchen_screen_odoo/__manifest__.py @@ -21,7 +21,7 @@ ############################################################################ { 'name': 'POS Kitchen Screen', - 'version': '18.0.1.1.0', + 'version': '18.0.1.1.1', 'category': 'Point Of Sale', 'summary': 'POS Kitchen Screen facilitates sending certain orders ' 'automatically to the kitchen.The POS Kitchen Screen allows for ' diff --git a/pos_kitchen_screen_odoo/doc/RELEASE_NOTES.md b/pos_kitchen_screen_odoo/doc/RELEASE_NOTES.md index 7f5b2cf3c..fcd8a1ddb 100644 --- a/pos_kitchen_screen_odoo/doc/RELEASE_NOTES.md +++ b/pos_kitchen_screen_odoo/doc/RELEASE_NOTES.md @@ -10,4 +10,9 @@ #### BUG FIX - Fixed issue where orders were not displaying on the kitchen screen. - Fixed kitchen screen not updating according to POS order changes. -- Fixed completed orders incorrectly reverting to draft or cooking stage in kitchen screen after payment completion. \ No newline at end of file +- Fixed completed orders incorrectly reverting to draft or cooking stage in kitchen screen after payment completion. + +#### 14.06.2025 +#### Version 18.0.1.1.1 +#### BUG FIX +- Fixed issue where completed orders were still shown after the session was 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 494663edc..1d9615d38 100644 --- a/pos_kitchen_screen_odoo/static/src/js/kitchen_screen.js +++ b/pos_kitchen_screen_odoo/static/src/js/kitchen_screen.js @@ -25,6 +25,15 @@ class kitchen_screen_dashboard extends Component { ready_count:[], lines:[] }); + 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) @@ -38,7 +47,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 @@ -52,8 +61,7 @@ class kitchen_screen_dashboard extends Component { var self=this if(message.message == "pos_order_created" && message.res_model == "pos.order"){ self.orm.call("pos.order", "get_details", ["", self.shop_id,""]).then(function(result) { - console.log('orm call result', 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 diff --git a/pos_kitchen_screen_odoo/static/src/js/order_button.js b/pos_kitchen_screen_odoo/static/src/js/order_button.js index 67088a3a4..a9b1cbb70 100644 --- a/pos_kitchen_screen_odoo/static/src/js/order_button.js +++ b/pos_kitchen_screen_odoo/static/src/js/order_button.js @@ -52,6 +52,7 @@ setup() { } }); if ( self.kitchen_order_status){ + await this.pos.sendOrderInPreparationUpdateLastChange(this.currentOrder); for (const orders of this.pos.get_order().lines) { line.push([0, 0, {