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 @@
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}
*/
......
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