ModuleUserType   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 32
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 3

Test Coverage

Coverage 100%

Importance

Changes 4
Bugs 0 Features 3
Metric Value
wmc 3
c 4
b 0
f 3
lcom 0
cbo 3
dl 0
loc 32
ccs 19
cts 19
cp 1
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A buildForm() 0 16 1
A configureOptions() 0 7 1
A getBlockPrefix() 0 4 1
1
<?php
2
3
namespace AppBundle\Form;
4
5
use Doctrine\ORM\EntityRepository;
6
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
7
use Symfony\Component\Form\AbstractType;
8
use Symfony\Component\Form\FormBuilderInterface;
9
use Symfony\Component\OptionsResolver\OptionsResolver;
10
11
class ModuleUserType extends AbstractType
12
{
13 1
    public function buildForm(FormBuilderInterface $builder, array $options)
14
    {
15 1
        $user = $options['user'];
16
17
        $builder
18 1
            ->add('module', EntityType::class, [
19 1
                'class' => 'AppBundle\Entity\Module',
20 1
                'query_builder' => function (EntityRepository $er) use ($user) {
21 1
                    return $er->getFreeModulesForUserQuery($user);
22 1
                },
23 1
                'label' => 'Choose module',
24 1
                'property' => 'title',
25 1
                'attr' => ['class' => 'chosen-select'],
26
                'required'  => true
27 1
            ]);
28 1
    }
29
30 1
    public function configureOptions(OptionsResolver $resolver)
31
    {
32 1
        $resolver->setDefaults(array(
33 1
            'data_class' => 'AppBundle\Entity\ModuleUser',
34
            'user' => ''
35 1
        ));
36 1
    }
37
38 1
    public function getBlockPrefix()
39
    {
40 1
        return 'app_bundle_module_user_type';
41
    }
42
}
43