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([{