summaryrefslogtreecommitdiff
path: root/addons/pos_restaurant/static
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2019-09-13 18:07:59 +0200
committerChristophe Simonis <chs@odoo.com>2019-09-13 18:07:59 +0200
commit6c948c36bbf72dd896e0bff03aa7fbddadcbb0cd (patch)
treef8620905c011735d8a3c340c46d1417a54a75972 /addons/pos_restaurant/static
parent48503fcf08eac6fed12e080d4f501f9bbc8d257d (diff)
parent197474e5b9ad43ab2d587a98136a1a809ce9a2e7 (diff)
[MERGE] forward port branch saas-12.5 up to 197474e5b9a
Diffstat (limited to 'addons/pos_restaurant/static')
-rw-r--r--addons/pos_restaurant/static/src/js/floors.js10
-rw-r--r--addons/pos_restaurant/static/src/js/tours/pos_restaurant.js34
-rw-r--r--addons/pos_restaurant/static/src/xml/floors.xml15
3 files changed, 55 insertions, 4 deletions
diff --git a/addons/pos_restaurant/static/src/js/floors.js b/addons/pos_restaurant/static/src/js/floors.js
index 6b29e2a3e57..148e667d624 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..a59f2d6caaf 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",
@@ -165,10 +181,26 @@ 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'));
+
+ // Test if products still get merged after transfering the order
+ steps = steps.concat(add_product_to_order('Coca-Cola'));
+ steps = steps.concat({
+ content: 'check the order-line for Coca-Cola has 2 Units',
+ trigger: '.orderlines:has(.orderline .product-name:contains("Coca-Cola")) .info-list:contains("2.000")',
+ run: function () {},
+ })
+ steps = steps.concat(generate_product_screen_keypad_steps('1'));
+
steps = steps.concat(goto_payment_screen_and_select_payment_method());
- steps = steps.concat(generate_payment_screen_keypad_steps('4.40'));
+ steps = steps.concat(generate_payment_screen_keypad_steps('4.4'));
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([{
diff --git a/addons/pos_restaurant/static/src/xml/floors.xml b/addons/pos_restaurant/static/src/xml/floors.xml
index 9179a742636..b3019a915d4 100644
--- a/addons/pos_restaurant/static/src/xml/floors.xml
+++ b/addons/pos_restaurant/static/src/xml/floors.xml
@@ -6,7 +6,7 @@
<t t-if='receipt.table'>
at table <t t-esc='receipt.table' />
</t>
- <t t-if='receipt.customer_count'>
+ <t t-if='receipt.table &amp;&amp; receipt.customer_count'>
<div>Guests: <t t-esc='receipt.customer_count' /></div>
</t>
</t>
@@ -23,6 +23,19 @@
</t>
</t>
+ <t t-extend="OrderSelectorWidget">
+ <t t-jquery=".order-sequence" t-operation="replace">
+ <span class="order-sequence">
+ <t t-if="order.server_id &amp;&amp; widget.pos.pos_session.login_number != order.uid.split('-')[1]">
+ <t t-esc="order.uid.substring(order.uid.indexOf('-') +1)"/>
+ </t>
+ <t t-else="">
+ <t t-esc="order.sequence_number"/>
+ </t>
+ </span>
+ </t>
+ </t>
+
<t t-name="TableGuestsButton">
<div class='control-button'>
<span class='control-button-number'>