Fix: Use entity choice type for document selection and filter by type

This commit is contained in:
Björn Fromme
2023-10-18 17:32:19 +02:00
parent a68df91bb5
commit 8a96533560
+11 -4
View File
@@ -91,15 +91,22 @@ class AssignmentType extends AbstractType
]) ])
->add('documents', CollectionType::class, [ ->add('documents', CollectionType::class, [
'label' => 'Dokumente', 'label' => 'Dokumente',
'entry_type' => AutocompleteEntityType::class, 'entry_type' => EntityType::class,
'entry_options' => [ 'entry_options' => [
'class' => Upload::class, 'class' => Upload::class,
'endpoint_route' => 'app_admin_autocomplete_document', 'choice_label' => function (Upload $document) {
'label_property' => 'originalFilename',
'label_function' => function (Upload $document) {
return $document->getDisplayName() ?? $document->getOriginalFilename(); return $document->getDisplayName() ?? $document->getOriginalFilename();
}, },
'placeholder' => 'Dokument...', 'placeholder' => 'Dokument...',
'query_builder' => function (EntityRepository $repository) {
return $repository
->createQueryBuilder('upload')
->where('upload.type = :type')
->setParameter('type', Upload::TYPE_DOCUMENT)
->orderBy('upload.displayName')
->addOrderBy('upload.originalFilename')
;
},
], ],
'allow_add' => true, 'allow_add' => true,
'allow_delete' => true, 'allow_delete' => true,