summaryrefslogtreecommitdiff
path: root/addons/pos_restaurant/static/src/js
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/pos_restaurant/static/src/js
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/pos_restaurant/static/src/js')
-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([{