Added feature for part IPN suggest with category prefixes (#1054)

* Erweiterungstätigkeiten zur IPN-Vorschlagsliste anhand von Präfixen aus den Kategorien

* Umstellung Migrationen bzgl. Multi-Plattform-Support.
Zunächst MySQL, SQLite Statements integrieren.

* Postgre Statements integrieren

* SQL-Formatierung in Migration verbessern

* Erweitere IPN-Suggest um Bauteilbeschreibung.

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.

* Anpassungen aus Analyse vornehmen

* IPN-Validierung für Parts überarbeiten

* IPN-Vorschlagslogik um Konfiguration erweitert

* Anpassungen aus phpstan Analyse

* IPN-Vorschlagslogik erweitert und Bauteil-IPN vereindeutigt

Die IPN-Logik wurde um eine Konfiguration zur automatischen Suffix-Anfügung und die Berücksichtigung von doppelten Beschreibungen bei Bedarf ergänzt. Zudem wurde das Datenmodell angepasst, um eine eindeutige Speicherung der IPN zu gewährleisten.

* Regex-Konfigurationsmöglichkeit für IPN-Vorschläge einführen

Die Einstellungen für die IPN-Vorschlagslogik wurden um eine Regex-Validierung und eine Hilfetext-Konfiguration erweitert. Tests und Änderungen an den Formularoptionen wurden implementiert.

* Match range assert and form limits in suggestPartDigits

* Keep existing behavior with autoAppend suffix by default

* Show the regex hint in the browser validation notice.

* Improved translations

* Removed unnecessary service definition

* Removed german comments

---------

Co-authored-by: Marcel Diegelmann <marcel.diegelmann@gmail.com>
Co-authored-by: Jan Böhmer <mail@jan-boehmer.de>
This commit is contained in:
web-devinition.de 2025-11-03 00:31:47 +01:00 committed by GitHub
parent 14a4f1f437
commit 771857e014
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
34 changed files with 2791 additions and 115 deletions

View file

@ -1853,6 +1853,66 @@ Po usunięciu pod elementy zostaną przeniesione na górę.</target>
<target>Zaawansowane</target>
</segment>
</unit>
<unit id="a1k7Blf" name="part.edit.tab.advanced.ipn.commonSectionHeader">
<segment state="translated">
<source>part.edit.tab.advanced.ipn.commonSectionHeader</source>
<target>Sugestie bez zwiększenia części</target>
</segment>
</unit>
<unit id="2achA.b" name="part.edit.tab.advanced.ipn.partIncrementHeader">
<segment state="translated">
<source>part.edit.tab.advanced.ipn.partIncrementHeader</source>
<target>Propozycje z numerycznymi przyrostami części</target>
</segment>
</unit>
<unit id="a7jKe3c" name="part.edit.tab.advanced.ipn.prefix.description.current-increment">
<segment state="translated">
<source>part.edit.tab.advanced.ipn.prefix.description.current-increment</source>
<target>Aktualna specyfikacja IPN dla części</target>
</segment>
</unit>
<unit id="kEco9iX" name="part.edit.tab.advanced.ipn.prefix.description.increment">
<segment state="translated">
<source>part.edit.tab.advanced.ipn.prefix.description.increment</source>
<target>Następna możliwa specyfikacja IPN na podstawie identycznego opisu części</target>
</segment>
</unit>
<unit id="dB1ChKc" name="part.edit.tab.advanced.ipn.prefix_empty.direct_category">
<segment state="translated">
<source>part.edit.tab.advanced.ipn.prefix_empty.direct_category</source>
<target>Prefiks IPN kategorii bezpośredniej jest pusty, podaj go w kategorii "%name%".</target>
</segment>
</unit>
<unit id="ec2DiJd" name="part.edit.tab.advanced.ipn.prefix.direct_category">
<segment state="translated">
<source>part.edit.tab.advanced.ipn.prefix.direct_category</source>
<target>Prefiks IPN kategorii bezpośredniej</target>
</segment>
</unit>
<unit id="2e.kJb4" name="part.edit.tab.advanced.ipn.prefix.direct_category.increment">
<segment state="translated">
<source>part.edit.tab.advanced.ipn.prefix.direct_category.increment</source>
<target>Prefiks IPN bezpośredniej kategorii i specyficzny dla części przyrost</target>
</segment>
</unit>
<unit id="ba1GCoq" name="part.edit.tab.advanced.ipn.prefix.hierarchical.no_increment">
<segment state="translated">
<source>part.edit.tab.advanced.ipn.prefix.hierarchical.no_increment</source>
<target>Prefiksy IPN z hierarchiczną kolejnością kategorii prefiksów nadrzędnych</target>
</segment>
</unit>
<unit id="d1uVFa3" name="part.edit.tab.advanced.ipn.prefix.hierarchical.increment">
<segment state="translated">
<source>part.edit.tab.advanced.ipn.prefix.hierarchical.increment</source>
<target>Prefiksy IPN z hierarchiczną kolejnością kategorii prefiksów nadrzędnych i specyficznym przyrostem dla części</target>
</segment>
</unit>
<unit id="a4rPagW" name="part.edit.tab.advanced.ipn.prefix.not_saved">
<segment state="translated">
<source>part.edit.tab.advanced.ipn.prefix.not_saved</source>
<target>Najpierw utwórz komponent i przypisz go do kategorii: dzięki istniejącym kategoriom i ich własnym prefiksom IPN identyfikator IPN dla komponentu może być proponowany automatycznie</target>
</segment>
</unit>
<unit id="c3S4jwK" name="part.edit.tab.part_lots">
<notes>
<note category="file-source" priority="1">Part-DB1\templates\Parts\edit\edit_part_info.html.twig:40</note>
@ -6993,6 +7053,12 @@ Jeśli zrobiłeś to niepoprawnie lub komputer nie jest już godny zaufania, mo
<target>Filtr nazwy</target>
</segment>
</unit>
<unit id="dsG4xTQ" name="category.edit.part_ipn_prefix">
<segment state="translated">
<source>category.edit.part_ipn_prefix</source>
<target>Prefiks IPN części</target>
</segment>
</unit>
<unit id="yY_ld.7" name="category.edit.default_description">
<notes>
<note priority="1">obsolete</note>
@ -10313,12 +10379,24 @@ Element 3</target>
<target>np. "/Kondensator \d+ nF/i"</target>
</segment>
</unit>
<unit id="OXeGz1A" name="category.edit.part_ipn_prefix.placeholder">
<segment state="translated">
<source>category.edit.part_ipn_prefix.placeholder</source>
<target>np. "B12A"</target>
</segment>
</unit>
<unit id="DL.TreI" name="category.edit.partname_regex.help">
<segment state="translated">
<source>category.edit.partname_regex.help</source>
<target>Wyrażenie regularne zgodne z PCRE, do którego musi pasować nazwa komponentu.</target>
</segment>
</unit>
<unit id="a1bUsfJ" name="category.edit.part_ipn_prefix.help">
<segment state="translated">
<source>category.edit.part_ipn_prefix.help</source>
<target>Een voorgesteld voorvoegsel bij het invoeren van de IPN van een onderdeel.</target>
</segment>
</unit>
<unit id="GzqIwHH" name="entity.select.add_hint">
<segment state="translated">
<source>entity.select.add_hint</source>