feat: persist and restore the last active POS cashier across sessions using sessionStorage
This commit is contained in:
parent
6c0592af82
commit
42d87e2e77
@ -19,16 +19,14 @@ patch(LoginScreen.prototype, {
|
|||||||
if (currentCashier) {
|
if (currentCashier) {
|
||||||
this.cashierLogIn();
|
this.cashierLogIn();
|
||||||
} else {
|
} else {
|
||||||
const allEmployees = this.pos.models["hr.employee"].getAll();
|
const lastActiveCashierId = sessionStorage.getItem(`last_active_cashier_${this.pos.config.id}`);
|
||||||
if (allEmployees.length) {
|
const lastActiveCashier = lastActiveCashierId ? this.pos.models["hr.employee"].get(Number(lastActiveCashierId)) : null;
|
||||||
const nonWaiterEmployee = allEmployees.find(emp => emp.pos_role !== 'waiter');
|
if (lastActiveCashier) {
|
||||||
if (nonWaiterEmployee) {
|
this.pos.setCashier(lastActiveCashier);
|
||||||
this.pos.setCashier(nonWaiterEmployee);
|
this.cashierLogIn();
|
||||||
} else {
|
} else {
|
||||||
this.pos.setCashier(allEmployees[0]);
|
super.openRegister();
|
||||||
}
|
|
||||||
}
|
}
|
||||||
this.cashierLogIn();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@ -15,6 +15,7 @@ patch(PosStore.prototype, {
|
|||||||
}
|
}
|
||||||
this.setCashier(cashier);
|
this.setCashier(cashier);
|
||||||
}
|
}
|
||||||
|
sessionStorage.removeItem(`last_active_cashier_${this.config.id}`);
|
||||||
return super.closeSession(...arguments);
|
return super.closeSession(...arguments);
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -92,6 +93,9 @@ patch(PosStore.prototype, {
|
|||||||
|
|
||||||
setCashier(employee) {
|
setCashier(employee) {
|
||||||
super.setCashier(...arguments);
|
super.setCashier(...arguments);
|
||||||
|
if (employee) {
|
||||||
|
sessionStorage.setItem(`last_active_cashier_${this.config.id}`, employee.id);
|
||||||
|
}
|
||||||
const order = this.getOrder();
|
const order = this.getOrder();
|
||||||
if (order && !order.getOrderlines().length) {
|
if (order && !order.getOrderlines().length) {
|
||||||
order.original_employee_id = employee;
|
order.original_employee_id = employee;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user