2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-04-29 03:56:43 +00:00

Adds global setting to enable or disable webcam support for barcode scanning

This commit is contained in:
Oliver Walters 2022-05-09 19:46:11 +10:00
parent 77eb978c25
commit 037e057c53
3 changed files with 9 additions and 1 deletions

View File

@ -842,6 +842,13 @@ class InvenTreeSetting(BaseInvenTreeSetting):
'validator': bool, 'validator': bool,
}, },
'BARCODE_WEBCAM_SUPPORT': {
'name': _('Barcode Webcam Support'),
'description': _('Allow barcode scanning via webcam in browser'),
'default': True,
'validator': bool,
},
'PART_IPN_REGEX': { 'PART_IPN_REGEX': {
'name': _('IPN Regex'), 'name': _('IPN Regex'),
'description': _('Regular expression pattern for matching Part IPN') 'description': _('Regular expression pattern for matching Part IPN')

View File

@ -13,6 +13,7 @@
<table class='table table-striped table-condensed'> <table class='table table-striped table-condensed'>
<tbody> <tbody>
{% include "InvenTree/settings/setting.html" with key="BARCODE_ENABLE" icon="fa-qrcode" %} {% include "InvenTree/settings/setting.html" with key="BARCODE_ENABLE" icon="fa-qrcode" %}
{% include "InvenTree/settings/setting.html" with key="BARCODE_WEBCAM_SUPPORT" icon="fa-video" %}
</tbody> </tbody>
</table> </table>

View File

@ -70,7 +70,7 @@ function onBarcodeScanClicked(e) {
} }
function onCameraAvailable(hasCamera, options) { function onCameraAvailable(hasCamera, options) {
if ( hasCamera == true ) { if (hasCamera && global_settings.BARCODE_WEBCAM_SUPPORT) {
// Camera is only acccessible if page is served over secure connection // Camera is only acccessible if page is served over secure connection
if ( window.isSecureContext == true ) { if ( window.isSecureContext == true ) {
qrScanner = new QrScanner(document.getElementById('barcode_scan_video'), (result) => { qrScanner = new QrScanner(document.getElementById('barcode_scan_video'), (result) => {