diff options
| author | Christophe Simonis <chs@odoo.com> | 2019-09-13 18:07:59 +0200 |
|---|---|---|
| committer | Christophe Simonis <chs@odoo.com> | 2019-09-13 18:07:59 +0200 |
| commit | 6c948c36bbf72dd896e0bff03aa7fbddadcbb0cd (patch) | |
| tree | f8620905c011735d8a3c340c46d1417a54a75972 /addons/pos_restaurant/static | |
| parent | 48503fcf08eac6fed12e080d4f501f9bbc8d257d (diff) | |
| parent | 197474e5b9ad43ab2d587a98136a1a809ce9a2e7 (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.js | 10 | ||||
| -rw-r--r-- | addons/pos_restaurant/static/src/js/tours/pos_restaurant.js | 34 | ||||
| -rw-r--r-- | addons/pos_restaurant/static/src/xml/floors.xml | 15 |
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 && 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 && 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'> |
