diff --git a/addons/pos_restaurant/data/pos_restaurant_demo.xml b/addons/pos_restaurant/data/pos_restaurant_demo.xml
index b98af6ec053..3720ad71347 100644
--- a/addons/pos_restaurant/data/pos_restaurant_demo.xml
+++ b/addons/pos_restaurant/data/pos_restaurant_demo.xml
@@ -214,7 +214,7 @@
- T1
+ 1
4
rgb(53,211,116)
@@ -226,7 +226,7 @@
- T2
+ 2
4
rgb(53,211,116)
@@ -238,7 +238,7 @@
- T3
+ 3
4
rgb(53,211,116)
@@ -250,7 +250,7 @@
- T4
+ 4
4
rgb(53,211,116)
@@ -262,7 +262,7 @@
- T5
+ 5
4
rgb(53,211,116)
@@ -274,7 +274,7 @@
- T6
+ 6
4
rgb(53,211,116)
@@ -286,7 +286,7 @@
- T7
+ 7
4
rgb(235,109,109)
@@ -298,7 +298,7 @@
- T8
+ 8
4
rgb(235,109,109)
@@ -310,7 +310,7 @@
- T9
+ 9
4
rgb(235,109,109)
@@ -322,7 +322,7 @@
- T10
+ 10
4
rgb(235,109,109)
@@ -334,7 +334,7 @@
- T11
+ 11
4
rgb(78,210,190)
@@ -356,7 +356,7 @@
- T1
+ 1
2
rgb(53,211,116)
@@ -368,7 +368,7 @@
- T2
+ 2
2
rgb(53,211,116)
@@ -380,7 +380,7 @@
- T3
+ 3
2
rgb(53,211,116)
@@ -392,7 +392,7 @@
- T4
+ 4
2
rgb(53,211,116)
@@ -406,7 +406,7 @@
- T5
+ 5
2
rgb(53,211,116)
@@ -418,7 +418,7 @@
- T6
+ 6
2
rgb(53,211,116)
@@ -430,7 +430,7 @@
- T7
+ 7
2
rgb(53,211,116)
@@ -442,7 +442,7 @@
- T8
+ 8
2
rgb(53,211,116)
@@ -456,7 +456,7 @@
- T9
+ 9
4
rgb(235,191,109)
@@ -468,7 +468,7 @@
- T9
+ 9
4
rgb(235,191,109)
@@ -480,7 +480,7 @@
- T10
+ 10
4
rgb(235,191,109)
@@ -492,7 +492,7 @@
- T11
+ 11
4
rgb(235,191,109)
@@ -504,7 +504,7 @@
- T12
+ 12
4
rgb(235,191,109)
diff --git a/addons/pos_restaurant/static/src/app/floor_screen/floor_screen.js b/addons/pos_restaurant/static/src/app/floor_screen/floor_screen.js
index e0b655976c6..a4d1edb8028 100644
--- a/addons/pos_restaurant/static/src/app/floor_screen/floor_screen.js
+++ b/addons/pos_restaurant/static/src/app/floor_screen/floor_screen.js
@@ -78,17 +78,99 @@ export class FloorScreen extends Component {
this.state.selectedTableId = null;
}
async _createTableHelper(copyTable) {
+ let existingTable = this.activeFloor.tables;
let newTable;
if (copyTable) {
newTable = Object.assign({}, copyTable);
newTable.position_h += 10;
newTable.position_v += 10;
} else {
+ let posV = 0;
+ let posH = 10;
+ const referenceScreenWidth = 1180;
+ const spaceBetweenTable = 15 * (screen.width/referenceScreenWidth);
+ const h_min = spaceBetweenTable;
+ const h_max = screen.width;
+ const v_max = screen.height;
+ let potentialWidth = 100 * (h_max/referenceScreenWidth);
+ if (potentialWidth > 130) {
+ potentialWidth = 130;
+ } else if (potentialWidth < 75) {
+ potentialWidth = 75;
+ }
+ const heightTable = potentialWidth;
+ const widthTable = potentialWidth;
+ let positionTable = [];
+
+ existingTable.forEach((table) => {
+ positionTable.push([table.position_v, table.position_v + table.height, table.position_h, table.position_h + table.width])
+ })
+
+ positionTable.sort((tableA, tableB) => {
+ if (tableA[0] < tableB[0]) {
+ return -1;
+ } else if (tableA[0] > tableB[0]) {
+ return 1;
+ } else if (tableA[2] < tableB[2]) {
+ return -1;
+ } else {
+ return 1;
+ }
+ });
+
+ let actualHeight = 100
+ let impossible = true;
+
+ while(actualHeight <= (v_max - heightTable - spaceBetweenTable) && impossible) {
+ let tableIntervals = [[h_min, h_min, v_max], [h_max, h_max, v_max]];
+ for (let i = 0; i < positionTable.length; i++) {
+ if (positionTable[i][0] >= (actualHeight + heightTable + spaceBetweenTable)) {
+ continue;
+ } else if ((positionTable[i][1] + spaceBetweenTable) <= actualHeight) {
+ continue;
+ } else {
+ tableIntervals.push([positionTable[i][2], positionTable[i][3], positionTable[i][1]]);
+ }
+ }
+
+ tableIntervals.sort((a, b) => {
+ if (a[0] < b[0]) {
+ return -1;
+ } else if (a[0] > b[0]) {
+ return 1;
+ } else if (a[1] < b[1]) {
+ return -1;
+ } else {
+ return 1;
+ }
+ });
+
+ let nextHeight = v_max;
+ for (let i = 0; i < tableIntervals.length - 1; i++) {
+ if (tableIntervals[i][2] < nextHeight) {
+ nextHeight = tableIntervals[i][2];
+ }
+
+ if (tableIntervals[i+1][0] - tableIntervals[i][1] > widthTable + spaceBetweenTable) {
+ impossible = false;
+ posV = actualHeight;
+ posH = tableIntervals[i][1] + spaceBetweenTable;
+ break;
+ }
+ }
+ actualHeight = nextHeight + spaceBetweenTable;
+ }
+
+ if (impossible) {
+ posV = positionTable[0][0] + 10;
+ posH = positionTable[0][2] + 10;
+ }
+
newTable = {
- position_v: 100,
- position_h: 100,
- width: 75,
- height: 75,
+ position_v: posV,
+ position_h: posH,
+ width: widthTable,
+ height: heightTable,
shape: "square",
seats: 1,
color: "rgb(53, 211, 116)",
@@ -112,7 +194,7 @@ export class FloorScreen extends Component {
} else if (this._lastName) {
this._lastName.num += 1;
} else {
- this._lastName = { num: 1, str: "T" };
+ this._lastName = { num: 1, str: "" };
}
return "" + this._lastName.str + this._lastName.num;
}
diff --git a/addons/pos_restaurant/static/src/app/floor_screen/floor_screen.scss b/addons/pos_restaurant/static/src/app/floor_screen/floor_screen.scss
index 0a5265f8937..48b436cddbf 100644
--- a/addons/pos_restaurant/static/src/app/floor_screen/floor_screen.scss
+++ b/addons/pos_restaurant/static/src/app/floor_screen/floor_screen.scss
@@ -43,21 +43,6 @@
background-size: cover;
transition: all 300ms ease-in-out;
- .tables {
- position: relative;
- --scale: 1;
- transform: scale(var(--scale));
-
- @media screen and (min-width: 1024px) {
- max-width: 1024px;
- margin: auto;
- max-height: 540px;
- border-radius: 0px 0px 6px 6px;
- border: dashed 2px rgba(0,0,0,0.1);
- border-top: none;
- height: 100%;
- }
- }
// Should probably be moved to table.scss but currently the selectors are too generic
.table {
position: absolute;
diff --git a/addons/pos_restaurant/static/src/app/floor_screen/floor_screen.xml b/addons/pos_restaurant/static/src/app/floor_screen/floor_screen.xml
index 899cb19b750..1784b660505 100644
--- a/addons/pos_restaurant/static/src/app/floor_screen/floor_screen.xml
+++ b/addons/pos_restaurant/static/src/app/floor_screen/floor_screen.xml
@@ -26,7 +26,7 @@
button in the editing toolbar to create new tables.
-
+
diff --git a/addons/pos_restaurant/static/tests/tours/ControlButtons.tour.js b/addons/pos_restaurant/static/tests/tours/ControlButtons.tour.js
index e4018d66f85..bf6a0d6bfe6 100644
--- a/addons/pos_restaurant/static/tests/tours/ControlButtons.tour.js
+++ b/addons/pos_restaurant/static/tests/tours/ControlButtons.tour.js
@@ -15,16 +15,16 @@ import { registry } from "@web/core/registry";
startSteps();
// Test TransferOrderButton
-FloorScreen.do.clickTable("T2");
+FloorScreen.do.clickTable("2");
ProductScreen.exec.addOrderline("Water", "5", "2", "10.0");
ProductScreen.do.clickTransferButton();
-FloorScreen.do.clickTable("T4");
+FloorScreen.do.clickTable("4");
ProductScreen.do.clickOrderline("Water", "5", "2");
Chrome.do.backToFloor();
-FloorScreen.do.clickTable("T2");
+FloorScreen.do.clickTable("2");
ProductScreen.check.orderIsEmpty();
Chrome.do.backToFloor();
-FloorScreen.do.clickTable("T4");
+FloorScreen.do.clickTable("4");
ProductScreen.do.clickOrderline("Water", "5", "2");
// Test SplitBillButton
diff --git a/addons/pos_restaurant/static/tests/tours/FloorScreen.tour.js b/addons/pos_restaurant/static/tests/tours/FloorScreen.tour.js
index 1fadfb7df14..7c0d024a284 100644
--- a/addons/pos_restaurant/static/tests/tours/FloorScreen.tour.js
+++ b/addons/pos_restaurant/static/tests/tours/FloorScreen.tour.js
@@ -14,21 +14,21 @@ startSteps();
// check floors if they contain their corresponding tables
FloorScreen.check.selectedFloorIs("Main Floor");
-FloorScreen.check.hasTable("T2");
-FloorScreen.check.hasTable("T4");
-FloorScreen.check.hasTable("T5");
+FloorScreen.check.hasTable("2");
+FloorScreen.check.hasTable("4");
+FloorScreen.check.hasTable("5");
FloorScreen.do.clickFloor("Second Floor");
-FloorScreen.check.hasTable("T3");
-FloorScreen.check.hasTable("T1");
+FloorScreen.check.hasTable("3");
+FloorScreen.check.hasTable("1");
// clicking table in active mode does not open product screen
// instead, table is selected
FloorScreen.do.clickEdit();
FloorScreen.check.editModeIsActive(true);
-FloorScreen.do.clickTable("T3");
-FloorScreen.check.selectedTableIs("T3");
-FloorScreen.do.clickTable("T1");
-FloorScreen.check.selectedTableIs("T1");
+FloorScreen.do.clickTable("3");
+FloorScreen.check.selectedTableIs("3");
+FloorScreen.do.clickTable("1");
+FloorScreen.check.selectedTableIs("1");
// switching floor in edit mode deactivates edit mode
FloorScreen.do.clickFloor("Main Floor");
@@ -38,62 +38,62 @@ FloorScreen.check.editModeIsActive(true);
// test add table
FloorScreen.do.clickAddTable();
-FloorScreen.check.selectedTableIs("T1");
+FloorScreen.check.selectedTableIs("1");
FloorScreen.do.clickRename();
TextInputPopup.check.isShown();
-TextInputPopup.do.inputText("T100");
+TextInputPopup.do.inputText("100");
TextInputPopup.do.clickConfirm();
-FloorScreen.check.selectedTableIs("T100");
+FloorScreen.check.selectedTableIs("100");
// test duplicate table
FloorScreen.do.clickDuplicate();
-// new table is already named T101
-FloorScreen.check.selectedTableIs("T101");
+// new table is already named 101
+FloorScreen.check.selectedTableIs("101");
FloorScreen.do.clickRename();
TextInputPopup.check.isShown();
-TextInputPopup.do.inputText("T1111");
+TextInputPopup.do.inputText("1111");
TextInputPopup.do.clickConfirm();
-FloorScreen.check.selectedTableIs("T1111");
+FloorScreen.check.selectedTableIs("1111");
// switch floor, switch back and check if
// the new tables are still there
FloorScreen.do.clickFloor("Second Floor");
FloorScreen.check.editModeIsActive(false);
-FloorScreen.check.hasTable("T3");
-FloorScreen.check.hasTable("T1");
+FloorScreen.check.hasTable("3");
+FloorScreen.check.hasTable("1");
FloorScreen.do.clickFloor("Main Floor");
-FloorScreen.check.hasTable("T2");
-FloorScreen.check.hasTable("T4");
-FloorScreen.check.hasTable("T5");
-FloorScreen.check.hasTable("T100");
-FloorScreen.check.hasTable("T1111");
+FloorScreen.check.hasTable("2");
+FloorScreen.check.hasTable("4");
+FloorScreen.check.hasTable("5");
+FloorScreen.check.hasTable("100");
+FloorScreen.check.hasTable("1111");
// test delete table
FloorScreen.do.clickEdit();
FloorScreen.check.editModeIsActive(true);
-FloorScreen.do.clickTable("T2");
-FloorScreen.check.selectedTableIs("T2");
+FloorScreen.do.clickTable("2");
+FloorScreen.check.selectedTableIs("2");
FloorScreen.do.clickTrash();
Chrome.do.confirmPopup();
// change number of seats
-FloorScreen.do.clickTable("T4");
-FloorScreen.check.selectedTableIs("T4");
+FloorScreen.do.clickTable("4");
+FloorScreen.check.selectedTableIs("4");
FloorScreen.do.clickSeats();
NumberPopup.do.pressNumpad("Backspace 9");
NumberPopup.check.inputShownIs("9");
NumberPopup.do.clickConfirm();
-FloorScreen.check.tableSeatIs("T4", "9");
+FloorScreen.check.tableSeatIs("4", "9");
// change number of seat when the input is already selected
-FloorScreen.do.clickTable("T4");
-FloorScreen.check.selectedTableIs("T4");
+FloorScreen.do.clickTable("4");
+FloorScreen.check.selectedTableIs("4");
FloorScreen.do.clickSeats();
NumberPopup.do.pressNumpad("1 5");
NumberPopup.check.inputShownIs("15");
NumberPopup.do.clickConfirm();
-FloorScreen.check.tableSeatIs("T4", "15");
+FloorScreen.check.tableSeatIs("4", "15");
// change shape
FloorScreen.do.changeShapeTo("round");
@@ -101,16 +101,16 @@ FloorScreen.do.changeShapeTo("round");
// Opening product screen in main floor should go back to main floor
FloorScreen.do.clickEdit();
FloorScreen.check.editModeIsActive(false);
-FloorScreen.check.tableIsNotSelected("T4");
-FloorScreen.do.clickTable("T4");
+FloorScreen.check.tableIsNotSelected("4");
+FloorScreen.do.clickTable("4");
ProductScreen.check.isShown();
-Chrome.check.backToFloorTextIs("Main Floor", "T4");
+Chrome.check.backToFloorTextIs("Main Floor", "4");
Chrome.do.backToFloor();
// Opening product screen in second floor should go back to second floor
FloorScreen.do.clickFloor("Second Floor");
-FloorScreen.check.hasTable("T3");
-FloorScreen.do.clickTable("T3");
-Chrome.check.backToFloorTextIs("Second Floor", "T3");
+FloorScreen.check.hasTable("3");
+FloorScreen.do.clickTable("3");
+Chrome.check.backToFloorTextIs("Second Floor", "3");
registry.category("web_tour.tours").add("FloorScreenTour", { test: true, url: "/pos/ui", steps: getSteps() });
diff --git a/addons/pos_restaurant/static/tests/tours/SplitBillScreen.tour.js b/addons/pos_restaurant/static/tests/tours/SplitBillScreen.tour.js
index 9656c25f402..f1903e7a548 100644
--- a/addons/pos_restaurant/static/tests/tours/SplitBillScreen.tour.js
+++ b/addons/pos_restaurant/static/tests/tours/SplitBillScreen.tour.js
@@ -13,7 +13,7 @@ import { registry } from "@web/core/registry";
// when finished, steps can be taken from getSteps
startSteps();
-FloorScreen.do.clickTable("T2");
+FloorScreen.do.clickTable("2");
ProductScreen.do.confirmOpeningPopup();
ProductScreen.exec.addOrderline("Water", "5", "2", "10.0");
ProductScreen.exec.addOrderline("Minute Maid", "3", "2", "6.0");
@@ -53,12 +53,12 @@ registry.category("web_tour.tours").add("SplitBillScreenTour", { test: true, url
startSteps();
-FloorScreen.do.clickTable("T2");
+FloorScreen.do.clickTable("2");
ProductScreen.exec.addOrderline("Water", "1", "2.0");
ProductScreen.exec.addOrderline("Minute Maid", "1", "2.0");
ProductScreen.exec.addOrderline("Coca-Cola", "1", "2.0");
Chrome.do.backToFloor();
-FloorScreen.do.clickTable("T2");
+FloorScreen.do.clickTable("2");
ProductScreen.do.clickSplitBillButton();
SplitBillScreen.do.clickOrderline("Water");
diff --git a/addons/pos_restaurant/static/tests/tours/TicketScreen.tour.js b/addons/pos_restaurant/static/tests/tours/TicketScreen.tour.js
index 226e8cb1649..583426b4f46 100644
--- a/addons/pos_restaurant/static/tests/tours/TicketScreen.tour.js
+++ b/addons/pos_restaurant/static/tests/tours/TicketScreen.tour.js
@@ -16,7 +16,7 @@ TicketScreen.check.noNewTicketButton();
TicketScreen.do.clickDiscard();
// Deleting the last order in the table brings back to floorscreen
-FloorScreen.do.clickTable("T4");
+FloorScreen.do.clickTable("4");
ProductScreen.check.isShown();
Chrome.do.clickTicketButton();
TicketScreen.check.nthRowContains(2, "-0001");
@@ -25,7 +25,7 @@ FloorScreen.check.isShown();
// Create 2 items in a table. From floorscreen, delete 1 item. Then select the other item.
// Correct order and screen should be displayed and the BackToFloorButton is shown.
-FloorScreen.do.clickTable("T2");
+FloorScreen.do.clickTable("2");
ProductScreen.exec.addOrderline("Minute Maid", "1", "2");
ProductScreen.check.totalAmountIs("2.0");
Chrome.do.clickTicketButton();
@@ -33,29 +33,29 @@ TicketScreen.do.clickNewTicket();
ProductScreen.exec.addOrderline("Coca-Cola", "2", "2");
ProductScreen.check.totalAmountIs("4.0");
Chrome.do.backToFloor();
-FloorScreen.check.orderCountSyncedInTableIs("T2", "2");
+FloorScreen.check.orderCountSyncedInTableIs("2", "2");
Chrome.do.clickTicketButton();
TicketScreen.do.deleteOrder("-0003");
Chrome.do.confirmPopup();
TicketScreen.do.selectOrder("-0002");
ProductScreen.check.isShown();
ProductScreen.check.totalAmountIs("2.0");
-Chrome.check.backToFloorTextIs("Main Floor", "T2");
+Chrome.check.backToFloorTextIs("Main Floor", "2");
Chrome.do.backToFloor();
// Make sure that order is deleted properly.
-FloorScreen.do.clickTable("T5");
+FloorScreen.do.clickTable("5");
ProductScreen.exec.addOrderline("Minute Maid", "1", "3");
ProductScreen.check.totalAmountIs("3.0");
Chrome.do.backToFloor();
-FloorScreen.check.orderCountSyncedInTableIs("T5", "1");
+FloorScreen.check.orderCountSyncedInTableIs("5", "1");
Chrome.do.clickTicketButton();
TicketScreen.do.deleteOrder("-0004");
Chrome.do.confirmPopup();
TicketScreen.do.clickDiscard();
FloorScreen.check.isShown();
-FloorScreen.check.orderCountSyncedInTableIs("T5", "0");
-FloorScreen.do.clickTable("T5");
+FloorScreen.check.orderCountSyncedInTableIs("5", "0");
+FloorScreen.do.clickTable("5");
ProductScreen.check.orderIsEmpty();
registry
diff --git a/addons/pos_restaurant/static/tests/tours/TipScreen.tour.js b/addons/pos_restaurant/static/tests/tours/TipScreen.tour.js
index 99a2c046af0..dc21f22537e 100644
--- a/addons/pos_restaurant/static/tests/tours/TipScreen.tour.js
+++ b/addons/pos_restaurant/static/tests/tours/TipScreen.tour.js
@@ -15,13 +15,13 @@ startSteps();
// Create order that is synced when draft.
// order 1
-FloorScreen.do.clickTable("T2");
+FloorScreen.do.clickTable("2");
ProductScreen.do.confirmOpeningPopup();
ProductScreen.exec.addOrderline("Minute Maid", "1", "2");
ProductScreen.check.totalAmountIs("2.0");
Chrome.do.backToFloor();
-FloorScreen.check.orderCountSyncedInTableIs("T2", "1");
-FloorScreen.do.clickTable("T2");
+FloorScreen.check.orderCountSyncedInTableIs("2", "1");
+FloorScreen.do.clickTable("2");
ProductScreen.check.totalAmountIs("2.0");
ProductScreen.do.clickPayButton();
PaymentScreen.do.clickPaymentMethod("Bank");
@@ -33,14 +33,14 @@ TicketScreen.do.clickNewTicket();
ProductScreen.exec.addOrderline("Coca-Cola", "2", "2");
ProductScreen.check.totalAmountIs("4.0");
Chrome.do.backToFloor();
-FloorScreen.check.orderCountSyncedInTableIs("T2", "1");
+FloorScreen.check.orderCountSyncedInTableIs("2", "1");
Chrome.do.clickTicketButton();
TicketScreen.check.nthRowContains("2", "Tipping");
TicketScreen.do.clickDiscard();
// Create without syncing the draft.
// order 3
-FloorScreen.do.clickTable("T5");
+FloorScreen.do.clickTable("5");
ProductScreen.exec.addOrderline("Minute Maid", "3", "2");
ProductScreen.check.totalAmountIs("6.0");
ProductScreen.do.clickPayButton();
@@ -53,7 +53,7 @@ TicketScreen.do.clickNewTicket();
ProductScreen.exec.addOrderline("Coca-Cola", "4", "2");
ProductScreen.check.totalAmountIs("8.0");
Chrome.do.backToFloor();
-FloorScreen.check.orderCountSyncedInTableIs("T5", "1");
+FloorScreen.check.orderCountSyncedInTableIs("5", "1");
Chrome.do.clickTicketButton();
TicketScreen.check.nthRowContains("3", "Tipping");
diff --git a/addons/pos_restaurant/static/tests/tours/helpers/FloorScreenTourMethods.js b/addons/pos_restaurant/static/tests/tours/helpers/FloorScreenTourMethods.js
index c160456fa54..3cd6c56c433 100644
--- a/addons/pos_restaurant/static/tests/tours/helpers/FloorScreenTourMethods.js
+++ b/addons/pos_restaurant/static/tests/tours/helpers/FloorScreenTourMethods.js
@@ -100,7 +100,7 @@ class Check {
return [
{
content: `selected floor has '${name}' table`,
- trigger: `.floor-map .tables .table .label:contains("${name}")`,
+ trigger: `.floor-map .table .label:contains("${name}")`,
run: () => {},
},
];
@@ -118,7 +118,7 @@ class Check {
return [
{
content: `number of seats in table '${table}' is '${val}'`,
- trigger: `.floor-map .tables .table .label:contains("${table}") ~ .table-seats:contains("${val}")`,
+ trigger: `.floor-map .table .label:contains("${table}") ~ .table-seats:contains("${val}")`,
run: function () {},
},
];
diff --git a/addons/pos_restaurant/static/tests/tours/pos_restaurant.js b/addons/pos_restaurant/static/tests/tours/pos_restaurant.js
index 5e30baefe6b..7ea43138c43 100644
--- a/addons/pos_restaurant/static/tests/tours/pos_restaurant.js
+++ b/addons/pos_restaurant/static/tests/tours/pos_restaurant.js
@@ -11,7 +11,7 @@ import { registry } from "@web/core/registry";
startSteps();
-FloorScreen.do.clickTable("T5");
+FloorScreen.do.clickTable("5");
// Create first order
ProductScreen.do.confirmOpeningPopup();
@@ -36,8 +36,8 @@ ReceiptScreen.do.clickNextOrder();
// After clicking next order, floor screen is shown.
// It should have 1 as number of draft synced order.
-FloorScreen.check.orderCountSyncedInTableIs("T5", "1");
-FloorScreen.do.clickTable("T5");
+FloorScreen.check.orderCountSyncedInTableIs("5", "1");
+FloorScreen.do.clickTable("5");
ProductScreen.check.totalAmountIs("4.40");
// Create another draft order and go back to floor
@@ -50,10 +50,10 @@ ProductScreen.check.selectedOrderlineHas("Minute Maid");
Chrome.do.backToFloor();
// At floor screen, there should be 2 synced draft orders
-FloorScreen.check.orderCountSyncedInTableIs("T5", "2");
+FloorScreen.check.orderCountSyncedInTableIs("5", "2");
// Delete the first order then go back to floor
-FloorScreen.do.clickTable("T5");
+FloorScreen.do.clickTable("5");
ProductScreen.check.isShown();
Chrome.do.clickTicketButton();
TicketScreen.do.deleteOrder("-0001");
@@ -62,7 +62,7 @@ TicketScreen.do.selectOrder("-0003");
Chrome.do.backToFloor();
// There should be 1 synced draft order.
-FloorScreen.check.orderCountSyncedInTableIs("T5", "1");
+FloorScreen.check.orderCountSyncedInTableIs("5", "1");
registry.category("web_tour.tours").add("pos_restaurant_sync", { test: true, url: "/pos/ui", steps: getSteps() });
startSteps();
@@ -73,13 +73,13 @@ startSteps();
*/
// There is one draft synced order from the previous tour
-FloorScreen.check.orderCountSyncedInTableIs("T5", "1");
-FloorScreen.do.clickTable("T5");
+FloorScreen.check.orderCountSyncedInTableIs("5", "1");
+FloorScreen.do.clickTable("5");
ProductScreen.check.totalAmountIs("4.40");
// Test transfering an order
ProductScreen.do.clickTransferButton();
-FloorScreen.do.clickTable("T4");
+FloorScreen.do.clickTable("4");
// Test if products still get merged after transfering the order
ProductScreen.do.clickDisplayedProduct("Coca-Cola");
@@ -93,14 +93,14 @@ PaymentScreen.do.clickValidate();
ReceiptScreen.do.clickNextOrder();
// At this point, there are no draft orders.
-FloorScreen.do.clickTable("T2");
+FloorScreen.do.clickTable("2");
ProductScreen.check.isShown();
ProductScreen.check.orderIsEmpty();
ProductScreen.do.clickTransferButton();
-FloorScreen.do.clickTable("T4");
+FloorScreen.do.clickTable("4");
ProductScreen.do.clickDisplayedProduct("Coca-Cola");
ProductScreen.check.totalAmountIs("2.20");
Chrome.do.backToFloor();
-FloorScreen.check.orderCountSyncedInTableIs("T4", "1");
+FloorScreen.check.orderCountSyncedInTableIs("4", "1");
registry.category("web_tour.tours").add("pos_restaurant_sync_second_login", { test: true, url: "/pos/ui", steps: getSteps() });
diff --git a/addons/pos_restaurant/tests/test_frontend.py b/addons/pos_restaurant/tests/test_frontend.py
index 39e3044631c..e2ae18b879d 100644
--- a/addons/pos_restaurant/tests/test_frontend.py
+++ b/addons/pos_restaurant/tests/test_frontend.py
@@ -55,14 +55,14 @@ class TestFrontend(odoo.tests.HttpCase):
})
table_05 = self.env['restaurant.table'].create({
- 'name': 'T5',
+ 'name': '5',
'floor_id': main_floor.id,
'seats': 4,
'position_h': 100,
'position_v': 100,
})
table_04 = self.env['restaurant.table'].create({
- 'name': 'T4',
+ 'name': '4',
'floor_id': main_floor.id,
'seats': 4,
'shape': 'square',
@@ -70,7 +70,7 @@ class TestFrontend(odoo.tests.HttpCase):
'position_v': 100,
})
table_02 = self.env['restaurant.table'].create({
- 'name': 'T2',
+ 'name': '2',
'floor_id': main_floor.id,
'seats': 4,
'position_h': 250,
@@ -83,7 +83,7 @@ class TestFrontend(odoo.tests.HttpCase):
})
table_01 = self.env['restaurant.table'].create({
- 'name': 'T1',
+ 'name': '1',
'floor_id': second_floor.id,
'seats': 4,
'shape': 'square',
@@ -91,7 +91,7 @@ class TestFrontend(odoo.tests.HttpCase):
'position_v': 150,
})
table_03 = self.env['restaurant.table'].create({
- 'name': 'T3',
+ 'name': '3',
'floor_id': second_floor.id,
'seats': 4,
'position_h': 100,