Commit Graph

24 Commits

Author SHA1 Message Date
swdee
c29605ef23 Label Scanner Enhancements: LCSC barcode, create part, augmented scanning (#1194)
* added handling of LCSC barcode decoding and part loading on Label Scanner

* when a part is scanned and not found, the scanner did not redraw so scanning subsequent parts was not possible without reloading the browser page.  fixed the barcode scanner initialization and shutdown so it redraws properly after part not found

* added redirection to part page on successful scan of lcsc, digikey, and mouser barcodes.   added create part button if part does not exist in database

* added augmented mode to label scanner to use vendor labels for part lookup to see part storage location quickly

* shrink camera height on mobile so augmented information can been viewed onscreen

* handle momentarily bad reads from qrcode library

* removed augmented checkbox and combined functionality into info mode checkbox.  changed barcode scanner to use XHR callback for barcode decoding to avoid problems with form submission and camera caused by page reloaded when part not found.

* fix scanning of part-db barcodes to redirect to storage location or part lots.   made scan result messages conditional for parts or other non-part barcodes

* fix static analysis errors

* added unit tests for meeting code coverage report

* fix @MayNiklas reported bug:  when manually submitting the form (from a barcode scan or manual input) redirect to Create New part screen for the decoded information instead of showing 'Format Unknown' popup error message

* fix @d-buchmann bug:  clear 'scan-augmented-result' field upon rescan of new barcode

* fix @d-buchmann bug: after scanning in Info mode, if Info mode is turned off when scanning a part that did not exist, it now redirects user to create part page

* fix @d-buchmann bug: make barcode decode table 100% width of page

* fix bug with manual form submission where a part does not exist but decodes properly which causes the camera to not redraw on page reload due to unclean shutdown. this is an existing bug in the scanner interface.

steps to produce the issue:
- have camera active
- put in code in Input
- info mode ticked
- click submit button

on page reload the camera does not reactivate

* fixed translation messages

* Use symfony native functions to generate the routes for part creation

* Use native request functions for request param parsing

* Refactored LCSCBarcocdeScanResult to be an value object like the other Barcode results

* Added test for LCSCBarcodeScanResult

* Fixed exception when submitting form for info mode

* Made BarcodeSourceType a backed enum, so that it can be used in Request::getEnum()

* Moved database queries from BarcodeRedirector to PartRepository

* Fixed modeEnum parsing

* Fixed test errors

* Refactored BarcodeRedirector logic to be more universal

* Fixed BarcodeScanResultHandler test

* Refactored BarcodeScanResultHandler to be able to resolve arbitary entities from scans

* Moved barcode to info provider logic from Controller to BarcodeScanResultHandler service

* Improved augmentented info styling and allow to use it with normal form submit too

* Correctly handle nullable infoURL in ScanController

* Replaced the custom controller for fragment replacements with symfony streams

This does not require a complete new endpoint

* Removed data-lookup-url attribute from scan read box

* Removed unused translations

* Added basic info block when an storage location was found for an barcode

* Fixed phpstan issues

* Fixed tests

* Fixed part image for mobile view

* Added more tests for BarcodeScanResultHandler service

* Fixed tests

---------

Co-authored-by: Jan Böhmer <mail@jan-boehmer.de>
2026-02-22 21:26:44 +01:00
Treeed
9e85b70c17 Added capability to scan Digikey barcodes and open the local part part page based on the result (#811)
* added capability to scan digikey barcodes and open the local part page based on the digikey part number or manufacturer part number

* had replaced one too many doublequotes

* Generalized interpretation of format06 barcodes, added ids for mouser

* Renamed vendor_barcode to user_barcode in entities

* Added a own class to parse EIGP114 barcodes

* Added tests to EIGP114Barcode parser

* Refactored code

* Changed BarcodeRedirector to support the new Barcode EIGP114BarcodeScanResult class

* Added possibility to just show all information contained in a barcode

* Dont require trailer for EIGP114 barcodes, as digikey does not seem to put them onto their  barcodes

* Fixed inspection issues

---------

Co-authored-by: jona <a@b.c>
Co-authored-by: Jan Böhmer <mail@jan-boehmer.de>
2025-01-04 01:20:51 +01:00
Jan Böhmer
20f32c7f12 Applied rector suggestions 2024-06-22 00:31:43 +02:00
Jan Böhmer
18c80f6b64 Use the route attribute from the correct namespace 2024-03-03 20:37:33 +01:00
Jan Böhmer
5cfccab671 Allow to scan IPN barcodes using the built in barcode scanner
This improves issue #373
2023-11-12 00:36:13 +01:00
Jan Böhmer
bdcd51d533 Refactored barcode scan functions
This is preparatory work for issue #373
2023-10-26 22:23:43 +02:00
Jan Böhmer
2b793bf242 Fixed tests 2023-07-02 17:46:09 +02:00
Jan Böhmer
49ae906029 Allow to directly specify the scanned string via an input query parameter 2023-07-02 14:16:32 +02:00
Jan Böhmer
4f82a0f026 Fixed qr code scan URL paths 2023-07-02 14:03:29 +02:00
Jan Böhmer
7ee01d9a05 Applied rector with PHP8.1 migration rules 2023-06-11 14:17:19 +02:00
Jan Böhmer
a43af180a7 Applied rector rules up to symfony 6.2 2023-05-28 01:21:05 +02:00
Jan Böhmer
12d4c2f4d9 Renamed label_system templates folder to recommended snake_style style 2023-02-04 23:15:11 +01:00
Jan Böhmer
68462185ba Removed old GPLv2 copyright header 2022-11-29 22:28:53 +01:00
Jan Böhmer
498cc07583 Added copyright/license info to files 2022-11-29 21:21:26 +01:00
Jan Böhmer
51e05a8669 Use typed properties 2022-09-18 22:59:31 +02:00
Jan Böhmer
639829f5c5 Fixed some inspection issues. 2022-08-14 19:32:53 +02:00
Jan Böhmer
ae24fb5eb1 Use renderForm for proper return codes for turbo 2022-03-04 21:20:18 +01:00
Jan Böhmer
f5d685dfd4 Fixed coding style. 2020-05-10 21:39:31 +02:00
Jan Böhmer
7e656be246 Added some tests to check if LabelSystem and scanner pages are available. 2020-05-10 13:28:01 +02:00
Jan Böhmer
236249e4a1 Added tests for various label services. 2020-05-09 20:24:07 +02:00
Jan Böhmer
9a9cd8e887 Added permission to control who can access label scanner. 2020-05-08 12:50:44 +02:00
Jan Böhmer
85821ec673 Added basic scan dialog. 2020-04-26 21:26:11 +02:00
Jan Böhmer
c200b650a0 Added simple redirect to info page, when scanning an QR code. 2020-04-26 18:59:49 +02:00
Jan Böhmer
6bd3ad6138 Added basic support for label barcodes (C39 and QR). 2020-04-24 22:10:49 +02:00