64 lines
2.4 KiB
PHP
64 lines
2.4 KiB
PHP
<?php
|
|
|
|
namespace Cadoles\PortalBundle\Form;
|
|
|
|
use Symfony\Component\Form\AbstractType;
|
|
use Symfony\Component\Form\FormBuilderInterface;
|
|
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
|
|
use Symfony\Component\Form\Extension\Core\Type\TextType;
|
|
use Symfony\Component\Form\Extension\Core\Type\IntegerType;
|
|
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
|
|
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
|
|
|
|
use Symfony\Component\OptionsResolver\OptionsResolver;
|
|
|
|
class BlogType extends AbstractType
|
|
{
|
|
public function buildForm(FormBuilderInterface $builder, array $options)
|
|
{
|
|
$builder
|
|
->add('submit', SubmitType::class, [
|
|
"label" => ($options["mode"]=="delete"?"Confirmer la Suppression":"Valider"),
|
|
"attr" => ($options["mode"]=="delete"?array("class" => "btn btn-danger"):array("class" => "btn btn-success"))
|
|
])
|
|
|
|
->add('name', TextType::class, [
|
|
'label' => 'Nom'
|
|
]);
|
|
|
|
if($options["access"]=="config") {
|
|
$builder
|
|
->add('roles', ChoiceType::class, [
|
|
"label" => 'Visible pour les Rôles',
|
|
"choices" => [
|
|
"Visiteur" => 'ROLE_ANONYME',
|
|
"Utilisateur" => 'ROLE_USER',
|
|
"Modérateur" => 'ROLE_MODO',
|
|
"Administateur" => 'ROLE_ADMIN',
|
|
],
|
|
"multiple" => true,
|
|
"expanded" => true,
|
|
"disabled" => ($options["mode"]=="delete"?true:false),
|
|
])
|
|
|
|
->add('groups', EntityType::class, [
|
|
"label" => 'Visible pour les Groupes',
|
|
"class" => 'CadolesCoreBundle:Group',
|
|
"choice_label" => 'label',
|
|
"multiple" => true,
|
|
"expanded" => true,
|
|
"disabled" => ($options["mode"]=="delete"?true:false),
|
|
]);
|
|
}
|
|
}
|
|
|
|
public function configureOptions(OptionsResolver $resolver)
|
|
{
|
|
$resolver->setDefaults([
|
|
'data_class' => 'Cadoles\PortalBundle\Entity\Blog',
|
|
'mode' => 'string',
|
|
'access' => 'string'
|
|
]);
|
|
}
|
|
}
|