1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
odoo.define('pos_hr.useSelectEmployee', function (require) {
'use strict';
const { Component } = owl;
function useSelectEmployee() {
const current = Component.current;
async function askPin(employee) {
const { confirmed, payload: inputPin } = await this.showPopup('NumberPopup', {
isPassword: true,
title: this.env._t('Password ?'),
startingValue: null,
});
if (!confirmed) return false;
if (employee.pin === Sha1.hash(inputPin)) {
return employee;
} else {
await this.showPopup('ErrorPopup', {
title: this.env._t('Incorrect Password'),
});
return false;
}
}
async function selectEmployee(selectionList) {
const { confirmed, payload: employee } = await this.showPopup('SelectionPopup', {
title: this.env._t('Change Cashier'),
list: selectionList,
});
if (!confirmed) return false;
if (!employee.pin) {
return employee;
}
return await askPin.call(current, employee);
}
return { askPin: askPin.bind(current), selectEmployee: selectEmployee.bind(current) };
}
return useSelectEmployee;
});
|