]> git.immae.eu Git - github/wallabag/wallabag.git/blame - src/Wallabag/GroupBundle/Form/NewGroupType.php
WIP
[github/wallabag/wallabag.git] / src / Wallabag / GroupBundle / Form / NewGroupType.php
CommitLineData
36f30fa3
NL
1<?php
2
3namespace Wallabag\GroupBundle\Form;
4
5use Symfony\Component\Form\AbstractType;
2041810a
TC
6use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
7use Symfony\Component\Form\Extension\Core\Type\PasswordType;
36f30fa3
NL
8use Symfony\Component\Form\Extension\Core\Type\SubmitType;
9use Symfony\Component\Form\Extension\Core\Type\TextType;
10use Symfony\Component\Form\FormBuilderInterface;
11use Symfony\Component\OptionsResolver\OptionsResolver;
2041810a 12use Wallabag\GroupBundle\Entity\Group;
36f30fa3
NL
13
14class NewGroupType extends AbstractType
15{
16 public function buildForm(FormBuilderInterface $builder, array $options)
17 {
18 $builder
19 ->add('name', TextType::class, [
20 'required' => true,
21 'label' => 'group.form.name_label',
22 ])
2041810a
TC
23 ->add('defaultRole', ChoiceType::class, [
24 'label' => 'group.form.role_label',
25 'choices' => [
26 'group.roles.readonly' => Group::ROLE_READ_ONLY,
27 'group.roles.write' => Group::ROLE_WRITE,
28 'group.roles.manage_entries' => Group::ROLE_MANAGE_ENTRIES,
29 'group.roles.manage_users' => Group::ROLE_MANAGE_USERS,
30 'group.roles.admin' => Group::ROLE_ADMIN,
31 ],
32 ])
33 ->add('acceptSystem', ChoiceType::class, [
34 'label' => 'group.form.access_label',
35 'choices' => [
36 'group.access.open' => Group::ACCESS_OPEN,
37 'group.access.request' => Group::ACCESS_REQUEST,
38 'group.access.password' => Group::ACCESS_PASSWORD,
39 'group.access.invitation' => Group::ACCESS_INVITATION_ONLY,
40 'group.access.hidden' => Group::ACCESS_HIDDEN,
41 ],
42 ])
43 ->add('plainPassword', PasswordType::class, [
44 'label' => 'group.form.password_label',
45 'required' => false,
46 'attr' => ['autocomplete' => 'off'],
47 ])
36f30fa3
NL
48 ->add('save', SubmitType::class, [
49 'label' => 'group.form.save',
50 ])
51 ;
52 }
53
54 public function configureOptions(OptionsResolver $resolver)
55 {
56 $resolver->setDefaults([
57 'data_class' => 'Wallabag\GroupBundle\Entity\Group',
58 ]);
59 }
60
61 public function getBlockPrefix()
62 {
63 return 'new_group';
64 }
65}