diff --git a/Form/Type/FileUploadType.php b/Form/Type/FileUploadType.php index 0eda69fbe40beac7da63c6843d3a243c85997e08..0271cd6b56c49c2f6f46b63e1ce341f1da92a825 100644 --- a/Form/Type/FileUploadType.php +++ b/Form/Type/FileUploadType.php @@ -10,13 +10,11 @@ namespace Irstea\FileUploadBundle\Form\Type; -use Irstea\FileUploadBundle\Controller\UploadController; use Irstea\FileUploadBundle\Form\DataTranformer\UploadedFileTransformer; use Irstea\FileUploadBundle\Model\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; use Symfony\Component\Form\FormView; @@ -24,7 +22,6 @@ use Symfony\Component\OptionsResolver\OptionsResolver; use Symfony\Component\OptionsResolver\OptionsResolverInterface; use Symfony\Component\Routing\Router; use Symfony\Component\Validator\Constraints\Count; -use Symfony\Component\Validator\Constraints\NotNull; /** Type de champ 'file_upload'. * @@ -66,9 +63,9 @@ class FileUploadType extends AbstractType /** * - * @param Router $router + * @param Router $router * @param FileManagerInterface $fileManager - * @param int $defaultMaxChunkSize + * @param int $defaultMaxChunkSize */ public function __construct(Router $router, FileManagerInterface $fileManager, $defaultMaxChunkSize) { @@ -84,7 +81,7 @@ class FileUploadType extends AbstractType { $builder->setCompound(false); - if($options['multiple']) { + if ($options['multiple']) { $builder->addEventSubscriber(new MergeCollectionListener(true, true)); $builder->addViewTransformer(new CollectionToArrayTransformer()); } @@ -101,7 +98,7 @@ class FileUploadType extends AbstractType $view->vars['widget_attr']['data-create-url'] = $this->router->generate('file_upload_create'); $view->vars['multiple'] = $options['multiple']; - if($options['max_chunk_size'] > 0) { + if ($options['max_chunk_size'] > 0) { $view->vars['widget_attr']['data-max-chunk-size'] = $options['max_chunk_size']; } } @@ -113,12 +110,21 @@ class FileUploadType extends AbstractType { $this->setWidgetDefaultOptions($resolver); - $resolver->setDefaults(['max_chunk_size' => $this->defaultMaxChunkSize ?: 0]); + $resolver->setDefaults( + [ + 'max_chunk_size' => $this->defaultMaxChunkSize ?: 0, + ] + ); + $resolver->setAllowedTypes(['max_chunk_size' => 'int']); - $resolver->setNormalizers(['constraints' => function(OptionsResolver $options, $constraints) { - return $this->addConstraints($options, $constraints); - }]); + $resolver->setNormalizers( + [ + 'constraints' => function (OptionsResolver $options, $constraints) { + return $this->addConstraints($options, $constraints); + } + ] + ); } /** Ajoute des contraintes de validation correspondants aux paramètres du champ. @@ -127,32 +133,40 @@ class FileUploadType extends AbstractType */ protected function addConstraints(OptionsResolver $options, $constraints) { - if($options['multiple']) { + if ($options['multiple']) { $range = []; - if($options['required']) { + if ($options['required']) { $range['min'] = 1; $range['minMessage'] = 'file_upload.required'; } - if($options['max_number_of_files']) { + if ($options['max_number_of_files']) { $range['max'] = $options['max_number_of_files']; $range['maxMessage'] = 'file_upload.max_number_of_files'; } - if(!empty($range)) { + if (!empty($range)) { $constraints[] = new Count($range); } - } elseif($options['required']) { + } elseif ($options['required']) { $required = new \Symfony\Component\Validator\Constraints\NotBlank(['message' => 'file_upload.required']); $constraints[] = $required; } - if($options['min_file_size'] || $options['max_file_size'] || $options['accept_file_types']) { + if ($options['min_file_size'] || $options['max_file_size'] || $options['accept_file_types']) { // @TODO gère les tailles } return $constraints; } + /** + * {@inheritdoc} + */ + public function getName() + { + return "file_upload"; + } + /** * {@inheritdoc}des morceaux */ @@ -171,14 +185,6 @@ class FileUploadType extends AbstractType ]; } - /** - * {@inheritdoc} - */ - public function getName() - { - return "file_upload"; - } - /** * {@inheritdoc} */