Jan Böhmer
1650ade338
Use a cryptographically random suffix for attachment file names to make them harder guess
Build assets artifact / Build assets artifact (push) Has been cancelled
Docker Image Build / build (linux/amd64, amd64, ubuntu-latest) (push) Has been cancelled
Docker Image Build / build (linux/arm/v7, armv7, ubuntu-24.04-arm) (push) Has been cancelled
Docker Image Build / build (linux/arm64, arm64, ubuntu-24.04-arm) (push) Has been cancelled
Docker Image Build (FrankenPHP) / build (linux/amd64, amd64, ubuntu-latest) (push) Has been cancelled
Docker Image Build (FrankenPHP) / build (linux/arm/v7, armv7, ubuntu-24.04-arm) (push) Has been cancelled
Docker Image Build (FrankenPHP) / build (linux/arm64, arm64, ubuntu-24.04-arm) (push) Has been cancelled
Static analysis / Static analysis (push) Has been cancelled
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.2, mysql) (push) Has been cancelled
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.3, mysql) (push) Has been cancelled
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.4, mysql) (push) Has been cancelled
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.5, mysql) (push) Has been cancelled
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.2, postgres) (push) Has been cancelled
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.3, postgres) (push) Has been cancelled
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.4, postgres) (push) Has been cancelled
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.5, postgres) (push) Has been cancelled
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.2, sqlite) (push) Has been cancelled
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.3, sqlite) (push) Has been cancelled
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.4, sqlite) (push) Has been cancelled
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.5, sqlite) (push) Has been cancelled
Docker Image Build / merge (push) Has been cancelled
Docker Image Build (FrankenPHP) / merge (push) Has been cancelled
2026-02-24 23:20:09 +01:00
Jan Böhmer
4a5cc454ce
Show HTML files in the HTML sandbox if enabled
2026-02-24 22:40:23 +01:00
Jan Böhmer
a7a1026f9b
Throw an exception if canopy does not return a product
2026-02-24 20:30:39 +01:00
Jan Böhmer
300382f6e3
Make Canopy provider configurable via UI
2026-02-22 23:38:56 +01:00
Jan Böhmer
0b9b2cbf58
Allow to read amazon labels for part retrieval and creation
2026-02-22 23:16:39 +01:00
Jan Böhmer
87919eb445
Allow to cache amazon search results to reduce API calls
2026-02-22 22:29:44 +01:00
Jan Böhmer
258289482b
Increase debug detail expiration time to 10s to avoid double retrieval in one request
2026-02-22 22:12:50 +01:00
Jan Böhmer
aa9436a19b
Fixed conrad provider if part does not have manuals
2026-02-22 22:09:23 +01:00
Jan Böhmer
c6cbc17c66
Merge branch 'master' into amazon_info_provider
2026-02-22 21:58:36 +01:00
Jan Böhmer
f124fa0023
Made BarcodeScanResult classes readonly
2026-02-22 21:28:58 +01:00
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
Jan Böhmer
3ffb5e8278
Implemented Amazon info provider using canopy
2026-02-16 22:05:49 +01:00
Jan Böhmer
6afca44897
Use xxh3 hashes instead of encoding for info provider cache keys
2026-02-15 22:19:44 +01:00
d-buchmann
97a74815d3
Fix fallback filename ( #1238 )
...
Build assets artifact / Build assets artifact (push) Waiting to run
Docker Image Build / docker (push) Waiting to run
Docker Image Build (FrankenPHP) / docker (push) Waiting to run
Static analysis / Static analysis (push) Waiting to run
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.2, mysql) (push) Waiting to run
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.3, mysql) (push) Waiting to run
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.4, mysql) (push) Waiting to run
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.5, mysql) (push) Waiting to run
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.2, postgres) (push) Waiting to run
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.3, postgres) (push) Waiting to run
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.4, postgres) (push) Waiting to run
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.5, postgres) (push) Waiting to run
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.2, sqlite) (push) Waiting to run
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.3, sqlite) (push) Waiting to run
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.4, sqlite) (push) Waiting to run
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.5, sqlite) (push) Waiting to run
Fixes #1231 .
Modify tests to account for this case.
2026-02-15 14:41:25 +01:00
Jan Böhmer
5e9f7a11a3
Catch more errors of twig labels
2026-02-15 14:11:31 +01:00
Jan Böhmer
1c6bf3f472
Allow more useful functions in twig labels
2026-02-15 14:07:50 +01:00
Jan Böhmer
aed2652f1d
Added functions to retrieve associated parts of an element within twig labels
...
This fixes #1239
2026-02-15 13:52:56 +01:00
Jan Böhmer
233c5e8550
Fixed phpunit and phpstan issues
Build assets artifact / Build assets artifact (push) Waiting to run
Docker Image Build / docker (push) Waiting to run
Docker Image Build (FrankenPHP) / docker (push) Waiting to run
Static analysis / Static analysis (push) Waiting to run
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.2, mysql) (push) Waiting to run
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.3, mysql) (push) Waiting to run
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.4, mysql) (push) Waiting to run
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.5, mysql) (push) Waiting to run
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.2, postgres) (push) Waiting to run
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.3, postgres) (push) Waiting to run
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.4, postgres) (push) Waiting to run
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.5, postgres) (push) Waiting to run
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.2, sqlite) (push) Waiting to run
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.3, sqlite) (push) Waiting to run
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.4, sqlite) (push) Waiting to run
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.5, sqlite) (push) Waiting to run
2026-02-15 00:49:12 +01:00
Jan Böhmer
1996db6a53
Moved remaining twig extensions to new attributes system
2026-02-15 00:23:30 +01:00
Jan Böhmer
097041a43a
Ran rector
2026-02-14 23:33:40 +01:00
Jan Böhmer
7a83581597
Merge branch 'gtin'
2026-02-14 22:12:39 +01:00
Jan Böhmer
35598df354
Automatically set the stocktake permission if a user can already add and withdraw from a lot
Build assets artifact / Build assets artifact (push) Has been cancelled
Docker Image Build / docker (push) Has been cancelled
Docker Image Build (FrankenPHP) / docker (push) Has been cancelled
Static analysis / Static analysis (push) Has been cancelled
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.2, mysql) (push) Has been cancelled
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.3, mysql) (push) Has been cancelled
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.4, mysql) (push) Has been cancelled
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.5, mysql) (push) Has been cancelled
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.2, postgres) (push) Has been cancelled
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.3, postgres) (push) Has been cancelled
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.4, postgres) (push) Has been cancelled
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.5, postgres) (push) Has been cancelled
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.2, sqlite) (push) Has been cancelled
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.3, sqlite) (push) Has been cancelled
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.4, sqlite) (push) Has been cancelled
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.5, sqlite) (push) Has been cancelled
2026-02-10 23:24:40 +01:00
Jan Böhmer
d8fdaa9529
Added a modal to stocktake / set part lots amount from info page
2026-02-10 23:17:10 +01:00
Jan Böhmer
586375d921
Moved VAT include info from pricedetail to orderdetail level
...
That makes implementing the form easier
2026-02-10 16:53:41 +01:00
Marc
41252d8bb9
Implement URLHandlerInfoProviderInterface in BuerklinProvider ( #1235 )
...
Build assets artifact / Build assets artifact (push) Has been cancelled
Docker Image Build / docker (push) Has been cancelled
Docker Image Build (FrankenPHP) / docker (push) Has been cancelled
Static analysis / Static analysis (push) Has been cancelled
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.2, mysql) (push) Has been cancelled
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.3, mysql) (push) Has been cancelled
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.4, mysql) (push) Has been cancelled
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.5, mysql) (push) Has been cancelled
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.2, postgres) (push) Has been cancelled
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.3, postgres) (push) Has been cancelled
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.4, postgres) (push) Has been cancelled
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.5, postgres) (push) Has been cancelled
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.2, sqlite) (push) Has been cancelled
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.3, sqlite) (push) Has been cancelled
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.4, sqlite) (push) Has been cancelled
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.5, sqlite) (push) Has been cancelled
* Implement URLHandlerInfoProviderInterface in BuerklinProvider
Added URL handling capabilities to BuerklinProvider.
* Refactor ID extraction logic in BuerklinProvider
* Add tests for BuerklinProvider URLHandlerInfoProviderInterface
* Revert "Refactor ID extraction logic in BuerklinProvider"
This reverts commit 5f65176636 .
* Exclude 'p' from valid ID return in BuerklinProvider
2026-02-10 15:26:26 +01:00
Jan Böhmer
5a47b15c97
Use the information from info provider whether prices includes VAT or not
2026-02-08 21:58:14 +01:00
Jan Böhmer
f95e39748e
Fixed PHPstan issue
2026-02-08 19:37:44 +01:00
Jan Böhmer
90c82aab2e
Only show the created avatar attachment type for user attachments
2026-02-08 19:31:45 +01:00
Jan Böhmer
35e844dd7b
Allow to scan gtin barcodes and find parts via it
2026-02-08 16:06:01 +01:00
Jan Böhmer
1130f71075
Added ability to get GTINs for reichelt and Generic WebURL
2026-02-08 15:43:50 +01:00
Jan Böhmer
fd76ca12fc
Allow to import GTIN from info providers
2026-02-08 15:32:35 +01:00
Jan Böhmer
061af28c48
Fixed phpstan issues in GenericWebProvider
2026-02-07 17:07:53 +01:00
Jan Böhmer
7d19ed3ca8
Try to get a category from a webshop based on the breadcrumbs
2026-02-03 23:20:13 +01:00
Jan Böhmer
b48de83a32
Use brick schema to implement GenericWebProvider
...
This is less error prone than our own parser and also allows to parse Microdata and rdfa lite to support more webshops
2026-02-03 23:04:18 +01:00
Jan Böhmer
cad5261aba
Fixed phpstan issues
2026-02-02 23:26:18 +01:00
Jan Böhmer
883e3b271d
Fixed git commit hash logic
2026-02-02 21:02:08 +01:00
Jan Böhmer
29a08d152a
Use version info from updateChecker to be consistent
2026-02-02 20:52:42 +01:00
Jan Böhmer
2b94ff952c
Use different symbol for update manager
2026-02-02 20:49:21 +01:00
Jan Böhmer
7a856bf6f1
Try to emulate nohup behavior on windows
2026-02-02 20:37:02 +01:00
Jan Böhmer
720c1e51e8
Improved UpdateExecutor
2026-02-02 20:28:17 +01:00
Jan Böhmer
1ccc3ad440
Extracted logic used by both BackupManager and UpdateExecutor to new service
2026-02-02 19:48:27 +01:00
Jan Böhmer
68ff0721ce
Merged functionality from UpdateAvailableManager and UpdateChecker
2026-02-02 18:44:44 +01:00
Jan Böhmer
6dbead6d10
Centralized git logic from InstallationTypeDetector and UpdateChecker in GitVersionInfoProvider service
2026-02-02 18:18:36 +01:00
Jan Böhmer
1bfd36ccf5
Do not automatically give existing users the right to manage updates, but include that for new databases
2026-02-02 17:04:45 +01:00
Jan Böhmer
7e486a93c9
Added missing phpdoc structure definitions
2026-02-02 17:02:01 +01:00
Jan Böhmer
599145886b
Merge branch 'master' into feature/update-manager
2026-02-02 16:43:02 +01:00
Jan Böhmer
a1396c6696
Fixed delegation logic for PartDetailDTO
2026-02-01 21:19:11 +01:00
Jan Böhmer
24f0f0d23c
Added URL handling to a few more existing info providers
2026-02-01 21:18:06 +01:00
Jan Böhmer
10acc2e130
Added logic to delegate the info retrieval logic to another provider when giving an URL
2026-02-01 20:49:50 +01:00
Sebastian Almberg
f369e14f2f
Merge remote changes with PR feedback
...
Combined jbtronics' debug mode handling for composer install
with our yarn install/build steps and BackupManager refactoring.
2026-02-01 19:23:07 +01:00