From c877b0ddb8d0815013775730775d1e8388659013 Mon Sep 17 00:00:00 2001 From: Suherdy Yacob Date: Mon, 1 Jun 2026 08:14:19 +0700 Subject: [PATCH] fix: synchronize employee identification logic for empty orders across POS components and services --- static/src/app/components/navbar/navbar_patch.js | 8 ++++++-- static/src/app/components/order_tabs/order_tabs_patch.js | 5 ++++- static/src/app/screens/ticket_screen/ticket_screen.js | 5 ++++- static/src/app/services/pos_store.js | 5 +++++ 4 files changed, 19 insertions(+), 4 deletions(-) diff --git a/static/src/app/components/navbar/navbar_patch.js b/static/src/app/components/navbar/navbar_patch.js index 574f4fe..283416e 100644 --- a/static/src/app/components/navbar/navbar_patch.js +++ b/static/src/app/components/navbar/navbar_patch.js @@ -18,8 +18,12 @@ patch(Navbar.prototype, { } if (order) { - order.original_employee_id = cashier; - order.employee_id = cashier; + if (!order.getOrderlines()?.length) { + order.original_employee_id = cashier; + order.employee_id = cashier; + } else if (!order.original_employee_id) { + order.original_employee_id = order.employee_id || cashier; + } order.uiState.is_authorized = true; } diff --git a/static/src/app/components/order_tabs/order_tabs_patch.js b/static/src/app/components/order_tabs/order_tabs_patch.js index d8a06bf..fecbd03 100644 --- a/static/src/app/components/order_tabs/order_tabs_patch.js +++ b/static/src/app/components/order_tabs/order_tabs_patch.js @@ -35,7 +35,10 @@ patch(OrderTabs.prototype, { this.pos.setCashier(cashier); if (order) { - if (!order.original_employee_id) { + if (!order.getOrderlines()?.length) { + order.original_employee_id = cashier; + order.employee_id = cashier; + } else if (!order.original_employee_id) { order.original_employee_id = order.employee_id || cashier; } order.uiState.is_authorized = true; diff --git a/static/src/app/screens/ticket_screen/ticket_screen.js b/static/src/app/screens/ticket_screen/ticket_screen.js index 72f84f2..f603ccf 100644 --- a/static/src/app/screens/ticket_screen/ticket_screen.js +++ b/static/src/app/screens/ticket_screen/ticket_screen.js @@ -15,7 +15,10 @@ patch(TicketScreen.prototype, { // Ensure the order has its original employee id preserved when loading if (order) { - if (!order.original_employee_id) { + if (!order.getOrderlines()?.length) { + order.original_employee_id = cashier; + order.employee_id = cashier; + } else if (!order.original_employee_id) { order.original_employee_id = order.employee_id || cashier; } order.uiState.is_authorized = true; diff --git a/static/src/app/services/pos_store.js b/static/src/app/services/pos_store.js index 14b4010..abc6f06 100644 --- a/static/src/app/services/pos_store.js +++ b/static/src/app/services/pos_store.js @@ -36,6 +36,10 @@ patch(PosStore.prototype, { const order = this.getOrder(); if (order) { + if (!order.getOrderlines()?.length) { + order.original_employee_id = cashier; + order.employee_id = cashier; + } order.uiState.is_authorized = true; } }, @@ -80,6 +84,7 @@ patch(PosStore.prototype, { const order = this.getOrder(); if (order && !order.getOrderlines().length) { order.original_employee_id = employee; + order.employee_id = employee; } },