diff --git a/www/assets/js/home.js b/www/assets/js/home.js index d41bb2c..1c0a8a7 100644 --- a/www/assets/js/home.js +++ b/www/assets/js/home.js @@ -16,35 +16,39 @@ $("#clientsearchbar").submit(function (evt) { router.navigate("/clients/" + $("#clientsearchbar input[type=search]").val()); }); -function scanBarcodeOpenMachine() { - scanBarcode(function (code) { - if (code.startsWith("http")) { - matches = code.match(/[0-9]{8,}/g); - if (matches.length == 0) { - app.dialog.alert("No IDs detected in barcode.", "Error"); - } else if (matches.length == 1) { - router.navigate("/machine/" + matches[0]); - } else if (matches.length > 1) { - var buttons = []; - for (var i = 0; i < matches.length; i++) { - buttons.push({ - text: matches[i] - }); - } - app.dialog.create({ - title: 'Multiple IDs', - text: 'Multiple potential IDs exist in that barcode. Select the correct one.', - buttons: buttons, - verticalButtons: true, - onClick: function (dialog, index) { - var id = matches[index]; - router.navigate("/machine/" + id); - } - }).open(); +function openMachineInfoByBarcode(code) { + if (code.startsWith("http") || !code.match(/^([A-Z0-9])+$/)) { + matches = code.match(/[0-9A-Z]{8,}/g); + if (matches == null || matches.length == 0) { + app.dialog.alert("No IDs detected in barcode.", "Error"); + } else if (matches.length == 1) { + router.navigate("/machine/" + matches[0]); + } else if (matches.length > 1) { + var buttons = []; + for (var i = 0; i < matches.length; i++) { + buttons.push({ + text: matches[i] + }); } - } else { - router.navigate("/machine/" + code); + app.dialog.create({ + title: 'Multiple IDs', + text: 'Multiple potential IDs exist in that barcode. Select the correct one.', + buttons: buttons, + verticalButtons: true, + onClick: function (dialog, index) { + var id = matches[index]; + router.navigate("/machine/" + id); + } + }).open(); } + } else { + router.navigate("/machine/" + code); + } +} + +function scanBarcodeOpenMachine() { + scanBarcode(function (code) { + openMachineInfoByBarcode(code); }, function (error) { app.dialog.alert(error, "Error"); });