Jan Böhmer
47c7ee9f07
Allow to extract parameters form additionalProperty JSONLD data
2026-02-01 18:24:46 +01:00
Jan Böhmer
909cab0044
Added an web page to quickly add a new part from a web URL
2026-02-01 18:18:58 +01:00
Jan Böhmer
722eb7ddab
Added settings and docs for the generic Web info provider
2026-02-01 17:47:04 +01:00
Jan Böhmer
071f6f8591
Return an empty array if no URL is provider to the Generic Web URL provider
2026-02-01 17:34:08 +01:00
Jan Böhmer
7feba634b8
Hadle if offers are nested and images are ImageObjects in JSON+LD
2026-02-01 17:20:13 +01:00
Jan Böhmer
1213f82cdf
Fix if canonical URL is relative
2026-02-01 17:11:41 +01:00
Jan Böhmer
d868225260
Properly parse JSONLD product data if it is in an array with others
2026-02-01 17:06:38 +01:00
Jan Böhmer
52be548170
Add https:// if not existing
2026-02-01 16:55:52 +01:00
Jan Böhmer
73dbe64a83
Allow to extract prices form an Amazon page
2026-02-01 16:51:26 +01:00
Jan Böhmer
b89e878871
Allow to rudimentary parse product pages, even if they do not contain JSON-LD data
2026-02-01 16:39:19 +01:00
Jan Böhmer
14981200c8
Started implementing a generic web provider which uses JSONLD data provided by a webshop page
2026-02-01 14:35:58 +01:00
Jan Böhmer
8aadc0bb53
Highlight the scanned part lot when scanning an barcode
...
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
Fixed issue #968
2026-02-01 13:13:26 +01:00
Jan Böhmer
a78ca675b3
Install dev dependencies when updating a debug mode instance
...
Otherwise we run into an error message that web profiler does not exist
2026-01-31 23:36:09 +01:00
Niklas
a355bda9da
add supplier SPN linking for BOM import ( #1209 )
...
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
* feat: add supplier SPN lookup for BOM import
Add automatic part linking via supplier part numbers (SPNs) in the
BOM importer. When a Part-DB ID is not provided, the importer now
searches for existing parts by matching supplier SPNs from the CSV
with orderdetail records in the database.
This allows automatic part linking when KiCad schematic BOMs contain
supplier information like LCSC SPN, Mouser SPN, etc., improving the
import workflow for users who track parts by supplier part numbers.
* add tests for BOM import with supplier SPN handling
2026-01-31 22:37:43 +01:00
Jan Böhmer
584643d4ca
Fixed phpstan issue
2026-01-31 22:21:59 +01:00
Jan Böhmer
df3f069a76
Added translations for conrad settings
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-01-31 22:11:50 +01:00
Jan Böhmer
cd7cd6cdd3
Allow to retrieve (short) category info from Conrad provider
2026-01-31 21:57:05 +01:00
Jan Böhmer
6d224a4a9f
Allow to filter for languages in conrad attachments
2026-01-31 21:49:43 +01:00
Jan Böhmer
fa04fface3
Fixed bug with parameter parsing
2026-01-31 21:45:27 +01:00
Jan Böhmer
2f8553303d
Use better fields for determine the product name
2026-01-31 21:39:34 +01:00
Jan Böhmer
f168b2a83c
Reordered ConradShopIDs
2026-01-31 21:30:15 +01:00
Jan Böhmer
98937974c9
Allow to query price infos from conrad
2026-01-31 21:15:35 +01:00
Jan Böhmer
6f4dad98d9
Use parameter parsing logic from PR #1211 to handle multi parameters fine
2026-01-31 19:04:25 +01:00
Jan Böhmer
22cf04585b
Allow to retrieve datasheets from conrad
2026-01-31 18:57:00 +01:00
Jan Böhmer
6628333675
Properly handle danish and non-german swiss shop
2026-01-31 18:43:59 +01:00
Sebastian Almberg
1637fd63f4
Add backup restore feature
...
- Add restoreBackup() method to UpdateExecutor with full restore workflow
- Add getBackupDetails() to retrieve backup metadata and contents info
- Add restore controller routes (backup details API, restore action)
- Add restore button to backups table in UI
- Create backup_restore_controller.js Stimulus controller for confirmation
- Add translation strings for restore feature
The restore process:
1. Acquires lock and enables maintenance mode
2. Extracts backup to temp directory
3. Restores database (MySQL/PostgreSQL SQL or SQLite file)
4. Optionally restores config files and attachments
5. Clears and warms cache
6. Disables maintenance mode
Fix backup restore database import
The restore feature was using a non-existent doctrine:database:import
command. Now properly uses mysql/psql commands directly to import
database dumps.
Changes:
- Add EntityManagerInterface dependency to UpdateExecutor
- Use mysql command with shell input redirection for MySQL restore
- Use psql -f command for PostgreSQL restore
- Properly handle database connection parameters
- Add error handling for failed imports
2026-01-30 23:24:48 +01:00
Sebastian Almberg
87352ca6f7
Add manage_updates permission schema migration
...
- Bump permission schema to version 4
- Add upgradeSchemaToVersion4 for manage_updates permission
- Grants manage_updates to users who have both show_updates and server_infos
- Fix ZIP_RELEASE installation type: set supportsAutoUpdate to false
(ZIP update not yet implemented)
- Improve update instructions for ZIP installations
2026-01-30 21:46:27 +01:00
Sebastian Almberg
42fe781ef8
Add Update Manager for automated Part-DB updates
...
This feature adds a comprehensive Update Manager similar to Mainsail's
update system, allowing administrators to update Part-DB directly from
the web interface.
Features:
- Web UI at /admin/update-manager showing current and available versions
- Support for Git-based installations with automatic update execution
- Maintenance mode during updates to prevent user access
- Automatic database backup before updates
- Git rollback points for recovery (tags created before each update)
- Progress tracking with real-time status updates
- Update history and log viewing
- Downgrade support with appropriate UI messaging
- CLI command `php bin/console partdb:update` for server-side updates
New files:
- UpdateManagerController: Handles all web UI routes
- UpdateCommand: CLI command for running updates
- UpdateExecutor: Core update execution logic with safety mechanisms
- UpdateChecker: GitHub API integration for version checking
- InstallationTypeDetector: Detects installation type (Git/Docker/ZIP)
- MaintenanceModeSubscriber: Blocks user access during maintenance
- UpdateExtension: Twig functions for update notifications
UI improvements:
- Update notification in navbar for admins when update available
- Confirmation dialogs for update/downgrade actions
- Downgrade-specific text throughout the interface
- Progress page with auto-refresh
2026-01-30 21:36:33 +01:00
Jan Böhmer
3ed62f5cee
Allow to retrieve parameters from conrad
2026-01-26 23:18:32 +01:00
Jan Böhmer
7ab33c859b
Implemented basic functionality to search and retrieve part details
2026-01-26 23:07:01 +01:00
Jan Böhmer
705e71f1eb
Started working on a conrad provider
2026-01-26 20:58:20 +01:00
Niklas
3aad70934b
Support dynamic supplier SPNs in BOM import comments ( #1208 )
...
* Fix: Use correct field name for LCSC supplier part numbers in BOM import
The field mapping system uses 'LCSC SPN' as the target field name for LCSC
supplier part numbers (following the pattern SupplierName + ' SPN'), but the
code in parseKiCADSchematic() was incorrectly checking for 'LCSC'.
This caused LCSC supplier part numbers to be silently ignored and not included
in the BOM entry comments during schematic import.
Changed isset($mapped_entry['LCSC']) to isset($mapped_entry['LCSC SPN']) to
match the actual field name produced by the field mapping system.
* regression test: check for LCSC SPN in comment
* Support dynamic supplier SPNs in BOM import comments
Replace hardcoded LCSC SPN handling with dynamic supplier lookup to support all configured suppliers in BOM import. This allows any supplier defined in
Part-DB to have their SPN fields recognized and included in the BOM entry
comments during BOM import.
* Optimize BOM import by only calculating supplier SPN keys once
2026-01-25 21:32:14 +01:00
Jan Böhmer
d93dfd577e
Fail more gracefully when an error occurs in the info providers
2026-01-25 18:22:47 +01:00
Jan Böhmer
aa9aedc5fd
Prevent the extra column of the log data tables to be ordered
...
This makes not much sense because its JSON data under the hood, and PostgreSQL errors when trying to do it.
2026-01-25 00:38:11 +01:00
Jan Böhmer
d0b827c2c3
Do not use the wrong language for trees when no user is logged in
2026-01-18 23:44:11 +01:00
Jan Böhmer
8efbca798a
Merge remote-tracking branch 'origin/master'
2026-01-18 22:53:40 +01:00
Jan Böhmer
dd6c20780b
Ensure that the ids passed to DBElementRepository::findByIDInMatchingOrder are all ints
...
This might help to diagnose #1188
2026-01-18 22:53:37 +01:00
Lukas Runge
af81e15ef2
Set "Excluded from sim" to false by default for new categories to avoid annoying symbol at kicad parts.
2026-01-18 22:35:37 +01:00
d-buchmann
0a8199d81f
Update OEMSecretsProvider.php ( #1187 )
...
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
most probably only a typo
2026-01-13 12:53:22 +01:00
Jan Böhmer
33a3dc6203
Merge branch 'dbid_search_and_display_in_bom'
2026-01-11 18:33:22 +01:00
Jan Böhmer
aefb69c51e
Fixed error that users could not be converted due to settings and backupCodes not allowed as nullable
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-01-09 21:17:51 +01:00
Jan Böhmer
300ee33be2
Allow to continue even if source and target db platform are the same
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-01-09 19:46:09 +01:00
kernchen-brc
64efca4786
Added ID to search options. Fixed seach option by using equal to instead of like for the ID.
2026-01-09 11:37:30 +01:00
Jan Böhmer
ddbfc87ce1
Set help for DBPlatformConvertCommand
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-01-08 22:22:47 +01:00
Jan Böhmer
3454fa51de
Support %kernel.project_dir% in db conversion tool
2026-01-08 22:22:07 +01:00
Jan Böhmer
343ad6beff
Check that databases are up to date
2026-01-08 22:16:38 +01:00
Jan Böhmer
d385303a52
Made DBMigrationCommand take a DB url so we do not need a special doctrine config
2026-01-08 21:03:38 +01:00
Jan Böhmer
00b35e3306
Fix sequences of postgres after migration
2026-01-05 23:25:53 +01:00
Jan Böhmer
e0a25009d9
fixed
2026-01-05 23:16:33 +01:00
Jan Böhmer
3f0e4b09ce
Added a progress bar
2026-01-05 23:14:40 +01:00