Commit edcb3202 authored by Guillaume Perréal's avatar Guillaume Perréal
Browse files

Gère les collections Doctrine dans FileUploadType.

Showing with 9 additions and 0 deletions
+9 -0
......@@ -10,7 +10,9 @@ namespace Irstea\FileUploadBundle\Form\Type;
use Irstea\FileUploadBundle\Controller\UploadController;
use Irstea\FileUploadBundle\Form\DataTranformer\UploadedFileTransformer;
use Irstea\FileUploadBundle\Service\FileManagerInterface;
use Symfony\Bridge\Doctrine\Form\DataTransformer\CollectionToArrayTransformer;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\EventListener\MergeCollectionListener;
use Symfony\Component\Form\Extension\Csrf\CsrfProvider\CsrfProviderInterface;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\Form\FormInterface;
......@@ -58,6 +60,12 @@ class FileUploadType extends AbstractType
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->setCompound(false);
if($options['multiple']) {
$builder->addEventSubscriber(new MergeCollectionListener(true, true));
$builder->addViewTransformer(new CollectionToArrayTransformer());
}
$builder->addViewTransformer(new UploadedFileTransformer($this->fileManager, $options['multiple']));
}
......@@ -76,6 +84,7 @@ class FileUploadType extends AbstractType
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$this->setWidgetDefaultOptions($resolver);
$resolver->setDefaults(['max_chunk_size' => $this->maxChunkSize ?: 0]);
$resolver->setAllowedTypes(['max_chunk_size' => 'int']);
}
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment