Completed
Push — master ( 4e564f...02f0b7 )
by Philip
20:57
created

UserEditType::configureOptions()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 8
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 8
rs 9.4285
c 0
b 0
f 0
cc 1
eloc 3
nc 1
nop 1
1
<?php
2
3
namespace Dontdrinkandroot\Gitki\WebBundle\Form;
4
5
use Dontdrinkandroot\Gitki\WebBundle\Entity\User;
6
use Symfony\Component\Form\AbstractType;
7
use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
8
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
9
use Symfony\Component\Form\Extension\Core\Type\EmailType;
10
use Symfony\Component\Form\Extension\Core\Type\TextType;
11
use Symfony\Component\Form\FormBuilderInterface;
12
use Symfony\Component\OptionsResolver\OptionsResolver;
13
14
/**
15
 * @author Philip Washington Sorst <[email protected]>
16
 */
17
class UserEditType extends AbstractType
18
{
19
    public function buildForm(FormBuilderInterface $builder, array $options)
20
    {
21
        $builder
22
            ->add('username', TextType::class, ['required' => true])
23
            ->add('realName', TextType::class, ['required' => true])
24
            ->add('email', EmailType::class, ['required' => true])
25
            ->add('plainPassword', TextType::class, ['label' => 'Password', 'required' => false])
26
            ->add(
27
                'roles',
28
                ChoiceType::class,
29
                [
30
                    'expanded' => true,
31
                    'multiple' => true,
32
                    'choices'  => [
33
                        'Admin' => 'ROLE_ADMIN',
34
                        'User'  => 'ROLE_USER',
35
                    ]
36
                ]
37
            )
38
            ->add('githubId', TextType::class, ['required' => false])
39
            ->add('googleId', TextType::class, ['required' => false])
40
            ->add('facebookId', TextType::class, ['required' => false])
41
            ->add('enabled', CheckboxType::class, ['required' => false]);
42
    }
43
44
    public function configureOptions(OptionsResolver $resolver)
45
    {
46
        $resolver->setDefaults(
47
            [
48
                'data_class' => User::class
49
            ]
50
        );
51
    }
52
53
}
54