3 namespace Wallabag\GroupBundle\Form
;
5 use Symfony\Component\Form\AbstractType
;
6 use Symfony\Component\Form\Extension\Core\Type\ChoiceType
;
7 use Symfony\Component\Form\Extension\Core\Type\PasswordType
;
8 use Symfony\Component\Form\FormBuilderInterface
;
9 use Symfony\Component\OptionsResolver\OptionsResolver
;
10 use Symfony\Component\Form\Extension\Core\Type\SubmitType
;
11 use Symfony\Component\Form\Extension\Core\Type\TextType
;
12 use Wallabag\GroupBundle\Entity\Group
;
14 class GroupType
extends AbstractType
17 * @param FormBuilderInterface $builder
18 * @param array $options
20 public function buildForm(FormBuilderInterface
$builder, array $options)
23 ->add('name', TextType
::class, [
25 'label' => 'group.form.name_label',
27 ->add('defaultRole', ChoiceType
::class, [
28 'label' => 'group.form.role_label',
30 'group.roles.readonly' => Group
::ROLE_READ_ONLY
,
31 'group.roles.write' => Group
::ROLE_WRITE
,
32 'group.roles.manage_entries' => Group
::ROLE_MANAGE_ENTRIES
,
33 'group.roles.manage_users' => Group
::ROLE_MANAGE_USERS
,
34 'group.roles.admin' => Group
::ROLE_ADMIN
,
37 ->add('acceptSystem', ChoiceType
::class, [
38 'label' => 'group.form.access_label',
40 'group.access.open' => Group
::ACCESS_OPEN
,
41 'group.access.request' => Group
::ACCESS_REQUEST
,
42 'group.access.password' => Group
::ACCESS_PASSWORD
,
43 'group.access.invitation' => Group
::ACCESS_INVITATION_ONLY
,
44 'group.access.hidden' => Group
::ACCESS_HIDDEN
,
47 ->add('plainPassword', PasswordType
::class, [
48 'label' => 'group.form.password_label',
50 'attr' => ['autocomplete' => 'off'],
52 ->add('save', SubmitType
::class, [
53 'label' => 'group.form.save',
59 * @param OptionsResolver $resolver
61 public function configureOptions(OptionsResolver
$resolver)
63 $resolver->setDefaults(array(
64 'data_class' => 'Wallabag\GroupBundle\Entity\Group',