add('submit', SubmitType::class, [ 'label' => 'Valider', 'attr' => ['class' => 'btn btn-success'], ]) ->add('name', TextType::class, [ 'label' => 'Nom', ]) ->add('roworder', IntegerType::class, [ 'label' => 'Ordre', ]) ->add('fonticon', FaChoiceType::class, [ 'label' => 'Icône', 'required' => false, ]) ->add('maxwidth', IntegerType::class, [ 'label' => "Largeur maximum (0 pour largeur de l'écran)", ]) ->add('template', HiddenType::class, [ 'label' => 'Template', 'required' => false, ]); if ('admin' == $options['access'] && 'group' != $options['for']) { $builder ->add('roles', ChoiceType::class, [ 'label' => 'Visible pour les Rôles', 'choices' => [ 'Visiteur' => 'ROLE_ANONYME', 'Utilisateur' => 'ROLE_USER', 'Manager' => 'ROLE_MANAGER', 'Master' => 'ROLE_MASTER', 'Modérateur' => 'ROLE_MODO', 'Administateur' => 'ROLE_ADMIN', ], 'multiple' => true, 'expanded' => true, 'disabled' => ('delete' == $options['mode'] ? true : false), ]) ->add('groups', Select2EntityType::class, [ 'label' => 'Visible pour les Groupes', 'class' => 'App\Entity\Group', 'text_property' => 'label', 'multiple' => true, 'remote_route' => 'app_admin_group_selectlist', 'primary_key' => 'id', 'text_property' => 'label', 'minimum_input_length' => 0, 'page_limit' => 100, 'allow_clear' => true, 'delay' => 250, 'cache' => false, 'cache_timeout' => 60000, 'language' => 'fr', 'placeholder' => 'Selectionner un groupe', ]) ->add('user', Select2EntityType::class, [ 'label' => 'Propriétaire', 'disabled' => ('delete' == $options['mode'] ? true : false), 'required' => false, 'multiple' => false, 'remote_route' => 'app_admin_user_selectlist', 'class' => 'App\Entity\User', 'primary_key' => 'id', 'text_property' => 'username', 'minimum_input_length' => 2, 'page_limit' => 10, 'allow_clear' => true, 'delay' => 250, 'cache' => false, 'cache_timeout' => 60000, // if 'cache' is true 'language' => 'fr', 'placeholder' => 'Selectionner un propriétaire', 'attr' => ['class' => 'form-control', 'style' => 'margin-bottom:15px'], ]); } } public function configureOptions(OptionsResolver $resolver) { $resolver->setDefaults([ 'data_class' => 'App\Entity\Page', 'access' => 'string', 'mode' => 'string', 'for' => 'string', ]); } }