diff options
| author | Nicolas Lempereur <nle@odoo.com> | 2021-02-10 19:04:56 +0000 |
|---|---|---|
| committer | Nicolas Lempereur <nle@odoo.com> | 2021-02-15 12:29:04 +0000 |
| commit | d056feb4ac885acc6c829c57531b985027d94daf (patch) | |
| tree | b00ade9744e9c532a385ba328ca62deec41c6f38 /addons | |
| parent | 02d32aa9936cb0d9a1248bb866a31f4a40a0eac2 (diff) | |
[FIX] point_of_sale: select employee with pin by barcode
When switching employee on point of sale, we may have a PIN to enter.
If we enter the barcode and there is a PIN, we get an "Invalid Password"
error.
Why:
====
When we switch with a barcode 12, the barcode system will catch events
and prevent their propagation:
- {'type': 'keypress', 'key': 49}
- {'type': 'keypress', 'key': 50}
- {'type': 'keypress', 'key': 13}
For respectively '1', '2', 'Newline'.
If it match an employee, the PIN number modal is opened which will
listen to KEYUP events => it receives very shortly:
- {'type': 'KEYUP', 'key': 13}
which is the newline character which follows the KEYPRESS.
With a "Return" key received, the PIN modale closes with empty value
and an error "Invalid Password" is shown.
Solution:
=========
Ignore the newline character if no number has been selected.
opw-2448585
closes odoo/odoo#66117
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
Co-authored-by: Joseph Caburnay <jcb@odoo.com>
Diffstat (limited to 'addons')
| -rw-r--r-- | addons/point_of_sale/static/src/js/Popups/NumberPopup.js | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/addons/point_of_sale/static/src/js/Popups/NumberPopup.js b/addons/point_of_sale/static/src/js/Popups/NumberPopup.js index 385007d5812..07d2cb547bf 100644 --- a/addons/point_of_sale/static/src/js/Popups/NumberPopup.js +++ b/addons/point_of_sale/static/src/js/Popups/NumberPopup.js @@ -47,6 +47,12 @@ odoo.define('point_of_sale.NumberPopup', function(require) { return this.state.buffer; } } + confirm(event) { + const bufferState = event.detail; + if (bufferState.buffer !== '') { + super.confirm(); + } + } sendInput(key) { this.trigger('numpad-click-input', { key }); } |
