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

Formatage de code.

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