Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
30 / 30
100.00% covered (success)
100.00%
2 / 2
CRAP
100.00% covered (success)
100.00%
1 / 1
DelayType
100.00% covered (success)
100.00%
30 / 30
100.00% covered (success)
100.00%
2 / 2
2
100.00% covered (success)
100.00%
1 / 1
 buildForm
100.00% covered (success)
100.00%
23 / 23
100.00% covered (success)
100.00%
1 / 1
1
 configureOptions
100.00% covered (success)
100.00%
7 / 7
100.00% covered (success)
100.00%
1 / 1
1
1<?php
2
3/**
4 * This file is part of the MADIS - RGPD Management application.
5 *
6 * @copyright Copyright (c) 2018-2019 Soluris - Solutions Numériques Territoriales Innovantes
7 *
8 * This program is free software: you can redistribute it and/or modify
9 * it under the terms of the GNU Affero General Public License as published by
10 * the Free Software Foundation, either version 3 of the License, or
11 * (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU Affero General Public License for more details.
17 *
18 * You should have received a copy of the GNU Affero General Public License
19 * along with this program. If not, see <https://www.gnu.org/licenses/>.
20 */
21
22declare(strict_types=1);
23
24namespace App\Domain\Registry\Form\Type\Embeddable;
25
26use App\Domain\Registry\Model\Embeddable\Delay;
27use Knp\DictionaryBundle\Form\Type\DictionaryType;
28use Symfony\Component\Form\AbstractType;
29use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
30use Symfony\Component\Form\Extension\Core\Type\IntegerType;
31use Symfony\Component\Form\Extension\Core\Type\TextareaType;
32use Symfony\Component\Form\FormBuilderInterface;
33use Symfony\Component\OptionsResolver\OptionsResolver;
34
35class DelayType extends AbstractType
36{
37    /**
38     * Build type form.
39     */
40    public function buildForm(FormBuilderInterface $builder, array $options)
41    {
42        $builder
43            ->add('number', IntegerType::class, [
44                'label'    => false,
45                'required' => false,
46                'attr'     => [
47                    'min' => 1,
48                ],
49            ])
50            ->add('period', DictionaryType::class, [
51                'label'    => false,
52                'name'     => 'registry_delay_period',
53                'required' => true,
54            ])
55            ->add('otherDelay', CheckboxType::class, [
56                'label'    => 'Autre délai',
57                'required' => false,
58            ])
59            ->add('comment', TextareaType::class, [
60                'label'       => false,
61                'required'    => false,
62                'purify_html' => true,
63            ])
64        ;
65    }
66
67    /**
68     * Provide type options.
69     */
70    public function configureOptions(OptionsResolver $resolver)
71    {
72        $resolver
73            ->setDefaults([
74                'data_class'        => Delay::class,
75                'validation_groups' => [
76                    'default',
77                ],
78            ]);
79    }
80}