Completed
Branch v1.x-dev (5c2708)
by Benjamin
04:14
created

CompositionOptionsForm   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 25
Duplicated Lines 0 %

Test Coverage

Coverage 0%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 3
eloc 13
c 1
b 0
f 0
dl 0
loc 25
ccs 0
cts 12
cp 0
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A configureOptions() 0 10 1
A buildForm() 0 9 2
1
<?php
2
3
namespace Obblm\Core\Form\Team;
4
5
use Obblm\Core\Contracts\RuleHelperInterface;
6
use Obblm\Core\Entity\Team;
7
use Symfony\Component\Form\AbstractType;
8
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
9
use Symfony\Component\Form\FormBuilderInterface;
10
use Symfony\Component\OptionsResolver\OptionsResolver;
11
12
class CompositionOptionsForm extends AbstractType
13
{
14
    public function buildForm(FormBuilderInterface $builder, array $options)
15
    {
16
        /** @var RuleHelperInterface $helper */
17
        $helper = $options['helper'];
18
19
        if ($options['creation_options']) {
20
            $builder->add('creationOptions', $helper->getTeamCreationForm(), [
21
                'team' => $builder->getData(),
22
                'helper' => $helper
23
            ]);
24
        }
25
    }
26
27
    public function configureOptions(OptionsResolver $resolver)
28
    {
29
        $resolver->setDefaults([
30
            'translation_domain' => 'obblm',
31
            'helper' => null,
32
            'data_class' => Team::class,
33
            'creation_options' => true
34
        ]);
35
        $resolver->setAllowedTypes('creation_options', ['bool']);
36
        $resolver->setAllowedTypes('helper', [RuleHelperInterface::class]);
37
    }
38
}
39