ChoiceType   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 40
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 0

Importance

Changes 0
Metric Value
wmc 3
lcom 0
cbo 0
dl 0
loc 40
rs 10
c 0
b 0
f 0

3 Methods

Rating   Name   Duplication   Size   Complexity  
A buildForm() 0 20 1
A configureOptions() 0 4 1
A getBlockPrefix() 0 4 1
1
<?php
2
/*
3
 * Copyright 2014-2016 Arnaud Bienvenu
4
 *
5
 * This file is part of Kyela.
6
7
 * Kyela is free software: you can redistribute it and/or modify
8
 * it under the terms of the GNU Affero General Public License as published by
9
 * the Free Software Foundation, either version 3 of the License, or
10
 * (at your option) any later version.
11
12
 * Kyela is distributed in the hope that it will be useful,
13
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
 * GNU Affero General Public License for more details.
16
17
 * You should have received a copy of the GNU Affero General Public License
18
 * along with Kyela.  If not, see <http://www.gnu.org/licenses/>.
19
 *
20
 */
21
22
namespace Abienvenu\KyelaBundle\Form\Type;
23
24
use Symfony\Component\Form\AbstractType;
25
use Symfony\Component\Form\FormBuilderInterface;
26
use \Symfony\Component\Form\Extension\Core\Type\ChoiceType as BaseChoiceType;
27
use Symfony\Component\OptionsResolver\OptionsResolver;
28
29
class ChoiceType extends AbstractType
30
{
31
    /**
32
     * @param FormBuilderInterface $builder
33
     * @param array $options
34
     */
35
    public function buildForm(FormBuilderInterface $builder, array $options)
36
    {
37
        $builder
38
            ->add('name', null, ['attr' => ['autofocus' => 'autofocus', 'placeholder' => "choice.name.placeholder"]])
39
            ->add('value', null, ['attr' => ['placeholder' => 'choice.name.value']])
40
            ->add('color', BaseChoiceType::class, ['choices' => [
41
                'red' => 'red',
42
                'orange' => 'orange',
43
                'yellow' => 'yellow',
44
                'green' => 'green',
45
                'cyan' => 'cyan',
46
                'blue' => 'blue',
47
                'purple' => 'purple',
48
                'pink' => 'pink',
49
                'brown' => 'brown',
50
                'gray' => 'gray',
51
            ]])
52
            ->add('icon', IconType::class)
53
        ;
54
    }
55
56
    public function configureOptions(OptionsResolver $resolver)
57
    {
58
        $resolver->setDefaults(['data_class' => 'Abienvenu\KyelaBundle\Entity\Choice']);
59
    }
60
61
    /**
62
     * @return string
63
     */
64
    public function getBlockPrefix()
65
    {
66
        return 'abienvenu_kyelabundle_choice';
67
    }
68
}
69