From bc863ef4a52bb337a6d080cd1f8e3080f555be2c Mon Sep 17 00:00:00 2001 From: Gert Pellin Date: Thu, 29 Aug 2019 14:14:26 +0000 Subject: [PATCH] [FIX] pos_restaurant: transfer empty order Before this fix, if an empty order gets transfered to another table, the screen gets stuck on the floorplan until the window is refreshed. With this fix the new table is opened. --- addons/pos_restaurant/static/src/js/floors.js | 10 ++++++-- .../static/src/js/tours/pos_restaurant.js | 23 +++++++++++++++++++ 2 files changed, 31 insertions(+), 2 deletions(-) diff --git a/addons/pos_restaurant/static/src/js/floors.js b/addons/pos_restaurant/static/src/js/floors.js index 6b29e2a3e57..b36a169312f 100644 --- a/addons/pos_restaurant/static/src/js/floors.js +++ b/addons/pos_restaurant/static/src/js/floors.js @@ -926,8 +926,14 @@ models.PosModel = models.PosModel.extend({ self.set_table(table); } }); - } else if (ids_to_remove.length) { - self.remove_from_server_and_set_sync_state(ids_to_remove); + } else { + if (ids_to_remove.length) { + self.remove_from_server_and_set_sync_state(ids_to_remove); + } + if (self.order_to_transfer_to_different_table && table) { + self.order_to_transfer_to_different_table = null; + self.set_table(table); + } } this.set_order(null); // unset curent selected order diff --git a/addons/pos_restaurant/static/src/js/tours/pos_restaurant.js b/addons/pos_restaurant/static/src/js/tours/pos_restaurant.js index c7cf700f972..d492be57050 100644 --- a/addons/pos_restaurant/static/src/js/tours/pos_restaurant.js +++ b/addons/pos_restaurant/static/src/js/tours/pos_restaurant.js @@ -81,6 +81,22 @@ odoo.define('pos_reataurant.tour.synchronized_table_management', function (requi return steps; } + function transfer_order_to_table(table_id, order_uid) { + return [{ + content: 'Click transfer button', + trigger: '.control-button:contains("Transfer")', + run: 'click', + }, { + content: 'Transfer order to table ' + table_id, + trigger: '.label:contains(' + table_id +')', + run: 'click', + }, { + content: 'Check if order ' + order_uid + ' is open after transfer', + trigger: '.order-button.selected .order-sequence:contains("' + order_uid + '")', + run: function(){} // Check + }]; + } + function finish_order() { var steps = [{ content: "validate the order", @@ -164,11 +180,18 @@ odoo.define('pos_reataurant.tour.synchronized_table_management', function (requi }]; steps = steps.concat(open_table('T5', 1)); steps = steps.concat(verify_order_total('4.40')); + + // Test transfering an order + steps = steps.concat(transfer_order_to_table('T4', '002-0001')); steps = steps.concat(goto_payment_screen_and_select_payment_method()); steps = steps.concat(generate_payment_screen_keypad_steps('4.40')); steps = steps.concat(finish_order()); steps = steps.concat(open_table('T2')); + + // Test transfering an empty order + steps = steps.concat(transfer_order_to_table('T4', '2')); + steps = steps.concat(add_product_to_order('Coca-Cola')); steps = steps.concat(verify_order_total('2.20')); steps = steps.concat([{