summaryrefslogtreecommitdiff
path: root/addons
diff options
context:
space:
mode:
authorGert Pellin <gpe@odoo.com>2019-08-29 14:14:26 +0000
committerPierre Masereel <pim@odoo.com>2019-09-13 10:05:44 +0000
commitbc863ef4a52bb337a6d080cd1f8e3080f555be2c (patch)
treef8cde65bc9f804663801cda9d43ac0731f4853df /addons
parentff4e4d89859c4c0463eda0341f4729514b0a8a2c (diff)
[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.
Diffstat (limited to 'addons')
-rw-r--r--addons/pos_restaurant/static/src/js/floors.js10
-rw-r--r--addons/pos_restaurant/static/src/js/tours/pos_restaurant.js23
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([{