-
-
-
-
-
-
-
-
-
+
+
+
-
-
-
-
-
-
-
-
- Connecting to devices
-
-
-
-
+
diff --git a/addons/point_of_sale/static/tests/unit/pos_app_tests.js b/addons/point_of_sale/static/tests/unit/pos_app_tests.js
index 163e699aec6..b8d51f384d8 100644
--- a/addons/point_of_sale/static/tests/unit/pos_app_tests.js
+++ b/addons/point_of_sale/static/tests/unit/pos_app_tests.js
@@ -1,6 +1,6 @@
/** @odoo-module */
import { Chrome } from "@point_of_sale/js/Chrome";
-import { getFixture, mount, nextTick } from "@web/../tests/helpers/utils";
+import { getFixture, mount } from "@web/../tests/helpers/utils";
import { makeTestEnv } from "@web/../tests/helpers/mock_env";
import { registry } from "@web/core/registry";
import { posService } from "@point_of_sale/app/pos_store";
@@ -46,11 +46,12 @@ const serverData = {
QUnit.test("mount the Chrome", async (assert) => {
const fixture = getFixture();
- const root = await mount(Chrome, fixture, {
+ assert.verifySteps([]);
+ await mount(Chrome, fixture, {
env: await makeTestEnv({ serverData }),
test: true,
+ props: { disableLoader: () => assert.step("disable loader") },
});
- await root.env.services.pos.globalState.ready;
- await nextTick();
assert.containsOnce(fixture, ".pos");
+ assert.verifySteps(["disable loader"]);
});
diff --git a/addons/pos_hr/static/src/app/pos_store.js b/addons/pos_hr/static/src/app/pos_store.js
index 43acf1d2637..c97f7a5e68a 100644
--- a/addons/pos_hr/static/src/app/pos_store.js
+++ b/addons/pos_hr/static/src/app/pos_store.js
@@ -4,6 +4,12 @@ import { patch } from "@web/core/utils/patch";
import { PosStore } from "@point_of_sale/app/pos_store";
patch(PosStore.prototype, "pos_hr.PosStore", {
+ async setup() {
+ await this._super(...arguments);
+ if (this.globalState.config.module_pos_hr) {
+ this.showTempScreen("LoginScreen");
+ }
+ },
/**
* @override
*/
diff --git a/addons/pos_hr/static/src/js/Chrome.js b/addons/pos_hr/static/src/js/Chrome.js
index 3a469eeae7e..a4ed3088905 100644
--- a/addons/pos_hr/static/src/js/Chrome.js
+++ b/addons/pos_hr/static/src/js/Chrome.js
@@ -4,12 +4,6 @@ import { Chrome } from "@point_of_sale/js/Chrome";
import { patch } from "@web/core/utils/patch";
patch(Chrome.prototype, "pos_hr.Chrome", {
- async start() {
- await this._super(...arguments);
- if (this.env.pos.config.module_pos_hr) {
- this.pos.showTempScreen("LoginScreen"); // FIXME POSREF: use startScreen instead.
- }
- },
get showCashMoveButton() {
return (
this._super(...arguments) &&
diff --git a/addons/pos_restaurant/static/src/app/pos_store.js b/addons/pos_restaurant/static/src/app/pos_store.js
index 89060c2eb30..68eb778af4f 100644
--- a/addons/pos_restaurant/static/src/app/pos_store.js
+++ b/addons/pos_restaurant/static/src/app/pos_store.js
@@ -24,13 +24,12 @@ patch(PosStore.prototype, "pos_restaurant.PosStore", {
/**
* @override
*/
- setup() {
- this._super(...arguments);
- this.globalState.ready.then(() => {
- if (this.globalState.config.is_table_management) {
- this.setActivityListeners();
- }
- });
+ async setup() {
+ await this._super(...arguments);
+ if (this.globalState.config.is_table_management) {
+ this.setActivityListeners();
+ this.showScreen("FloorScreen", { floor: this.globalState.table?.floor || null });
+ }
},
setActivityListeners() {
IDLE_TIMER_SETTER = this.setIdleTimer.bind(this);
diff --git a/addons/pos_restaurant/static/src/js/Chrome.js b/addons/pos_restaurant/static/src/js/Chrome.js
deleted file mode 100644
index 27f988fb1ab..00000000000
--- a/addons/pos_restaurant/static/src/js/Chrome.js
+++ /dev/null
@@ -1,20 +0,0 @@
-/** @odoo-module */
-
-import { patch } from "@web/core/utils/patch";
-import { Chrome } from "@point_of_sale/js/Chrome";
-
-patch(Chrome.prototype, "pos_restaurant.Chrome", {
- /**
- * @override
- * FIXME POSREF move to pos store
- * `FloorScreen` is the start screen if there are floors.
- */
- get startScreen() {
- if (this.env.pos.config.is_table_management) {
- const table = this.env.pos.table;
- return { name: "FloorScreen", props: { floor: table ? table.floor : null } };
- } else {
- return this._super(...arguments);
- }
- },
-});
diff --git a/addons/pos_restaurant/static/src/js/Screens/TicketScreen.js b/addons/pos_restaurant/static/src/js/Screens/TicketScreen.js
index 32b1c8a5102..f5e5cfcde13 100644
--- a/addons/pos_restaurant/static/src/js/Screens/TicketScreen.js
+++ b/addons/pos_restaurant/static/src/js/Screens/TicketScreen.js
@@ -83,11 +83,7 @@ patch(TicketScreen.prototype, "pos_restaurant.TicketScreen", {
if (this.env.pos.config.is_table_management) {
this.env.pos.setOrderToRemove(order);
if (!this.env.pos.table) {
- try {
- await this.env.pos._removeOrdersFromServer();
- } catch (error) {
- throw error;
- }
+ await this.env.pos._removeOrdersFromServer();
}
}
await _super(...arguments);
diff --git a/addons/web/static/src/start.js b/addons/web/static/src/start.js
index 678d756571c..48515d5b031 100644
--- a/addons/web/static/src/start.js
+++ b/addons/web/static/src/start.js
@@ -19,7 +19,7 @@ import { App, whenReady } from "@odoo/owl";
*
* @param {Component} Webclient
*/
-export async function startWebClient(Webclient) {
+export async function startWebClient(Webclient, props = {}) {
odoo.info = {
db: session.db,
server_version: session.server_version,
@@ -39,6 +39,7 @@ export async function startWebClient(Webclient) {
const app = new App(Webclient, {
name: "Odoo Web Client",
env,
+ props,
templates,
dev: env.debug,
warnIfNoStaticProps: true,