Skip to content

Conversation

webdevinition
Copy link

In relation to the discussion opened at #1041, I would like to submit this pull request.

The described features have already been merged into an "all-feature" branch, which should make it easier to merge the changes. The branch mentioned has been rebased to version 2.1.2 of Part-DB.
I'm very much looking forward to a future integration of this!

Thank you in advance!

Marcel Diegelmann added 30 commits September 10, 2025 11:11
… zu mindestens einem Eintrag stattgefunden hat (Berücksichtigung Rechtekonfiguration)
…ations einführen und beim Import-Versuch zusätzlich mit ausgeben
CSV Importer implementieren.
Übersetzungsarbeiten vornehmen.
Zunächst MySQL, SQLite Statements integrieren.
Assembly BOM-Konfiguration um Projektauswahl erweitern (APS-3, APS-4)
Ermöglicht benutzerdefinierte Synonyme für Datenquellen basierend auf Locale. Synonyme werden in verschiedenen Bereichen wie Bäumen, Übersetzungen und Vorlagen genutzt, um anpassbare Namen anzuzeigen.
Eine neue Validierung wurde implementiert, um zyklische Referenzen in Baugruppen zu erkennen. Entsprechende Fehlertexte wurden in allen unterstützten Sprachen hinzugefügt. Zudem wurde der Validator in die Entität AssemblyBOMEntry integriert.
Name Validierung bei Assembly Angabe in Stücklisten anpassen. permission_layout.html hinsichtlich Synonym-Ausgabe Datenquelle anpassen. Anpassung aus Analyse.
Das Parsing wurde angepasst, um sowohl Komma- als auch Semikolon-getrennte CSV-Dateien zu unterstützen. Zudem werden Spaltennamen in Kleinbuchstaben konvertiert und zusätzliche Fallback-Logik für bestimmte Felder hinzugefügt.
Die Tabs "Details" und "Stückliste" wurden in der Baugruppenansicht vertauscht, um der Nutzererwartung besser zu entsprechen. Zudem wurde die Methode zur rekursiven Ermittlung referenzierter Baugruppen überarbeitet und in der Datentabelle integriert.
Die Importmethoden wurden vereinheitlicht, um Projekte und Baugruppen gleichermaßen zu unterstützen. Zudem wurde die Validierung optimiert und die CSV-, JSON- und KiCAD-Parsing-Methoden angepasst, um kontextbasierte BOM-Einträge effizienter zu erstellen.
…gänzt

Es wurde eine neue Validierung hinzugefügt, um sicherzustellen, dass keine Baugruppe in ihrer eigenen Hierarchie als Unterbaugruppe referenziert wird. Diese Logik wurde in die entsprechenden Dateien integriert und unterstützt Mehrsprachigkeit durch neue Übersetzungen.
Die Standardanzeige des Tabs "Details" wurde korrigiert. Im BOMImporter wurden nichtnumerische Spalten kategorisch ausgeschlossen und eine Validation-message angepasst.
Marcel Diegelmann added 26 commits September 10, 2025 16:28
Die Implementierung berücksichtigt nun zusätzlich die Bauteilbeschreibung zu maximal 150 Zeichen Länge für die Generierung von IPN-Vorschlägen und Inkrementen.
Zunächst MySQL, SQLite Statements integrieren.
Name Validierung bei Assembly Angabe in Stücklisten anpassen. permission_layout.html hinsichtlich Synonym-Ausgabe Datenquelle anpassen. Anpassung aus Analyse.
Das Parsing wurde angepasst, um sowohl Komma- als auch Semikolon-getrennte CSV-Dateien zu unterstützen. Zudem werden Spaltennamen in Kleinbuchstaben konvertiert und zusätzliche Fallback-Logik für bestimmte Felder hinzugefügt.
Die Tabs "Details" und "Stückliste" wurden in der Baugruppenansicht vertauscht, um der Nutzererwartung besser zu entsprechen. Zudem wurde die Methode zur rekursiven Ermittlung referenzierter Baugruppen überarbeitet und in der Datentabelle integriert.
Die Importmethoden wurden vereinheitlicht, um Projekte und Baugruppen gleichermaßen zu unterstützen. Zudem wurde die Validierung optimiert und die CSV-, JSON- und KiCAD-Parsing-Methoden angepasst, um kontextbasierte BOM-Einträge effizienter zu erstellen.
…gänzt

Es wurde eine neue Validierung hinzugefügt, um sicherzustellen, dass keine Baugruppe in ihrer eigenen Hierarchie als Unterbaugruppe referenziert wird. Diese Logik wurde in die entsprechenden Dateien integriert und unterstützt Mehrsprachigkeit durch neue Übersetzungen.
Die Standardanzeige des Tabs "Details" wurde korrigiert. Im BOMImporter wurden nichtnumerische Spalten kategorisch ausgeschlossen und eine Validation-message angepasst.
Die Verarbeitung der Designators im BOMImporter wurde ergänzt, um Mountnames zu setzen. Zudem wurden neue Spalten wie Kategorie, Footprint, Hersteller und Mountnames in der AssemblyBomEntriesDataTable hinzugefügt. Dies verbessert die Darstellung und Handhabung von Bauteildaten in der Stücklisten-Ansicht.
# Conflicts:
#	.env
#	config/parameters.yaml
#	config/services.yaml
#	docs/configuration.md
#	migrations/Version20250304081039.php
#	migrations/Version20250627130848.php
#	src/Controller/AdminPages/BaseAdminController.php
#	src/Controller/AssemblyController.php
#	src/Controller/ProjectController.php
#	src/Controller/TypeaheadController.php
#	src/DataTables/AssemblyBomEntriesDataTable.php
#	src/DataTables/AssemblyDataTable.php
#	src/Entity/AssemblySystem/AssemblyBOMEntry.php
#	src/Entity/Attachments/Attachment.php
#	src/Entity/Base/AbstractDBElement.php
#	src/Entity/LogSystem/CollectionElementDeleted.php
#	src/Entity/LogSystem/LogTargetType.php
#	src/Entity/Parameters/AbstractParameter.php
#	src/Form/AdminPages/AssemblyAdminForm.php
#	src/Form/AdminPages/BaseEntityAdminForm.php
#	src/Security/Voter/AttachmentVoter.php
#	src/Services/ImportExportSystem/BOMImporter.php
#	translations/messages.cs.xlf
#	translations/messages.da.xlf
#	translations/messages.de.xlf
#	translations/messages.el.xlf
#	translations/messages.en.xlf
#	translations/messages.es.xlf
#	translations/messages.fr.xlf
#	translations/messages.it.xlf
#	translations/messages.ja.xlf
#	translations/messages.nl.xlf
#	translations/messages.pl.xlf
#	translations/messages.ru.xlf
#	translations/messages.zh.xlf
… benötigt. Überarbeitung Exporter: Aufnahme von Parts aus Subassemblies.
Neue Auswahloption "Lesbarer Export" hinzugefügt, die den Export hierarchischer Baugruppen als PDF ermöglicht.
…mblies entfernen, da vorerst nicht benötigt.
@webdevinition
Copy link
Author

@jbtronics, if you need me to rebase to the new version or make any adjustments, please let me know.

@jbtronics
Copy link
Member

Please split up the different features into different PRs... Changes in 192 files are too much to review at once, and it makes it very hard to understand, what changes in files are related with each other...

In general, we should not introduce new "env var only options", as long as it is not something security critical or very low level. So the IPN configuration should be done via the new settings system, so that it can be easily changed via the WebUI (and then use the env system there, if you want to keep the env var configurability).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants