From 292aefaf494f2d9aede58f38c3f6438da0ab57bf Mon Sep 17 00:00:00 2001 From: Marcel Diegelmann Date: Thu, 3 Jul 2025 13:47:20 +0200 Subject: [PATCH] =?UTF-8?q?Assembly=20Listen=C3=BCbersicht=20umsetzen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Helpers/AssemblyDataTableHelper.php | 77 +++++++++++ translations/messages.de.xlf | 126 ++++++++++++++++++ translations/messages.el.xlf | 126 ++++++++++++++++++ translations/messages.es.xlf | 126 ++++++++++++++++++ translations/messages.ru.xlf | 126 ++++++++++++++++++ 5 files changed, 581 insertions(+) create mode 100644 src/DataTables/Helpers/AssemblyDataTableHelper.php diff --git a/src/DataTables/Helpers/AssemblyDataTableHelper.php b/src/DataTables/Helpers/AssemblyDataTableHelper.php new file mode 100644 index 00000000..dda563ea --- /dev/null +++ b/src/DataTables/Helpers/AssemblyDataTableHelper.php @@ -0,0 +1,77 @@ +. + */ + +namespace App\DataTables\Helpers; + +use App\Entity\AssemblySystem\Assembly; +use App\Entity\Attachments\Attachment; +use App\Services\Attachments\AssemblyPreviewGenerator; +use App\Services\Attachments\AttachmentURLGenerator; +use App\Services\EntityURLGenerator; + +/** + * A helper service which contains common code to render columns for assembly related tables + */ +class AssemblyDataTableHelper +{ + public function __construct( + private readonly EntityURLGenerator $entityURLGenerator, + private readonly AssemblyPreviewGenerator $previewGenerator, + private readonly AttachmentURLGenerator $attachmentURLGenerator + ) { + } + + public function renderName(Assembly $context): string + { + $icon = ''; + + return sprintf( + '%s%s', + $this->entityURLGenerator->infoURL($context), + $icon, + htmlspecialchars($context->getName()) + ); + } + + public function renderPicture(Assembly $context): string + { + $preview_attachment = $this->previewGenerator->getTablePreviewAttachment($context); + if (!$preview_attachment instanceof Attachment) { + return ''; + } + + $title = htmlspecialchars($preview_attachment->getName()); + if ($preview_attachment->getFilename()) { + $title .= ' ('.htmlspecialchars($preview_attachment->getFilename()).')'; + } + + return sprintf( + '%s', + 'Assembly image', + $this->attachmentURLGenerator->getThumbnailURL($preview_attachment), + $this->attachmentURLGenerator->getThumbnailURL($preview_attachment, 'thumbnail_md'), + 'hoverpic assembly-table-image', + $title + ); + } +} diff --git a/translations/messages.de.xlf b/translations/messages.de.xlf index 16812813..4934a55a 100644 --- a/translations/messages.de.xlf +++ b/translations/messages.de.xlf @@ -16263,5 +16263,131 @@ Bitte beachten Sie, dass Sie sich nicht als deaktivierter Benutzer ausgeben kön %name% (Ihr Synonym: %synonym%) + + + assembly_list.all.title + Alle Baugruppen + + + + + assembly.edit.tab.common + Allgemein + + + + + assembly.edit.tab.advanced + Erweiterte Optionen + + + + + assembly.edit.tab.attachments + Dateianhänge + + + + + assembly.filter.dbId + Datenbank ID + + + + + assembly.filter.ipn + Internal Part Number (IPN) + + + + + assembly.filter.name + Name + + + + + assembly.filter.description + Beschreibung + + + + + assembly.filter.comment + Notizen + + + + + assembly.filter.attachments_count + Anzahl der Anhänge + + + + + assembly.filter.attachmentName + Name des Anhangs + + + + + assemblies.create.btn + Neue Baugruppe anlegen + + + + + assembly.table.id + ID + + + + + assembly.table.name + Name + + + + + assembly.table.ipn + IPN + + + + + assembly.table.description + Beschreibung + + + + + assembly.table.addedDate + Hinzugefügt + + + + + assembly.table.lastModified + Zuletzt bearbeitet + + + + + assembly.table.edit + Ändern + + + + + assembly.table.edit.title + Baugruppe ändern + + + + + assembly.table.invalid_regex + Ungültiger regulärer Ausdruck (regex) + + diff --git a/translations/messages.el.xlf b/translations/messages.el.xlf index 7d345fbd..e705db48 100644 --- a/translations/messages.el.xlf +++ b/translations/messages.el.xlf @@ -3423,5 +3423,131 @@ + + + assembly_list.all.title + Όλες οι συναρμολογήσεις + + + + + assembly.edit.tab.common + Γενικά + + + + + assembly.edit.tab.advanced + Προηγμένες επιλογές + + + + + assembly.edit.tab.attachments + Συνημμένα + + + + + assembly.filter.dbId + Αναγνωριστικό βάσης δεδομένων + + + + + assembly.filter.ipn + Εσωτερικός αριθμός εξαρτήματος (IPN) + + + + + assembly.filter.name + Όνομα + + + + + assembly.filter.description + Περιγραφή + + + + + assembly.filter.comment + Σχόλια + + + + + assembly.filter.attachments_count + Αριθμός συνημμένων + + + + + assembly.filter.attachmentName + Όνομα συνημμένου + + + + + assemblies.create.btn + Δημιουργία νέας συναρμολόγησης + + + + + assembly.table.id + Αναγνωριστικό + + + + + assembly.table.name + Όνομα + + + + + assembly.table.ipn + IPN + + + + + assembly.table.description + Περιγραφή + + + + + assembly.table.addedDate + Προστέθηκε + + + + + assembly.table.lastModified + Τελευταία επεξεργασία + + + + + assembly.table.edit + Επεξεργασία + + + + + assembly.table.edit.title + Επεξεργασία συναρμολόγησης + + + + + assembly.table.invalid_regex + Μη έγκυρη κανονική έκφραση (regex) + + diff --git a/translations/messages.es.xlf b/translations/messages.es.xlf index 999fd71a..682a88a3 100644 --- a/translations/messages.es.xlf +++ b/translations/messages.es.xlf @@ -13778,5 +13778,131 @@ Por favor ten en cuenta que no puedes personificar a un usuario deshabilitado. S %name% (Tu sinónimo: %synonym%) + + + assembly_list.all.title + Todas las ensamblajes + + + + + assembly.edit.tab.common + General + + + + + assembly.edit.tab.advanced + Opciones avanzadas + + + + + assembly.edit.tab.attachments + Archivos adjuntos + + + + + assembly.filter.dbId + ID de la base de datos + + + + + assembly.filter.ipn + Número interno de pieza (IPN) + + + + + assembly.filter.name + Nombre + + + + + assembly.filter.description + Descripción + + + + + assembly.filter.comment + Comentarios + + + + + assembly.filter.attachments_count + Cantidad de adjuntos + + + + + assembly.filter.attachmentName + Nombre del adjunto + + + + + assemblies.create.btn + Crear una nueva ensamblaje + + + + + assembly.table.id + ID + + + + + assembly.table.name + Nombre + + + + + assembly.table.ipn + IPN + + + + + assembly.table.description + Descripción + + + + + assembly.table.addedDate + Añadido + + + + + assembly.table.lastModified + Última modificación + + + + + assembly.table.edit + Editar + + + + + assembly.table.edit.title + Editar ensamblaje + + + + + assembly.table.invalid_regex + Expresión regular no válida (regex) + + diff --git a/translations/messages.ru.xlf b/translations/messages.ru.xlf index 7ede4235..991230b2 100644 --- a/translations/messages.ru.xlf +++ b/translations/messages.ru.xlf @@ -13733,5 +13733,131 @@ %name% (Ваш синоним: %synonym%) + + + assembly_list.all.title + Все сборки + + + + + assembly.edit.tab.common + Общие + + + + + assembly.edit.tab.advanced + Дополнительные параметры + + + + + assembly.edit.tab.attachments + Вложения + + + + + assembly.filter.dbId + ID базы данных + + + + + assembly.filter.ipn + Внутренний номер детали (IPN) + + + + + assembly.filter.name + Название + + + + + assembly.filter.description + Описание + + + + + assembly.filter.comment + Комментарии + + + + + assembly.filter.attachments_count + Количество вложений + + + + + assembly.filter.attachmentName + Имя вложения + + + + + assemblies.create.btn + Создать новую сборку + + + + + assembly.table.id + ID + + + + + assembly.table.name + Название + + + + + assembly.table.ipn + IPN + + + + + assembly.table.description + Описание + + + + + assembly.table.addedDate + Добавлено + + + + + assembly.table.lastModified + Последнее изменение + + + + + assembly.table.edit + Редактировать + + + + + assembly.table.edit.title + Редактировать сборку + + + + + assembly.table.invalid_regex + Неверное регулярное выражение (regex) + +