deblan.tv/vendor/trinity/src/Trinity/Bundle/UserBundle/Form/Type/GroupType.php
2015-03-02 21:57:49 +01:00

63 lines
1.6 KiB
PHP
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
namespace Trinity\Bundle\UserBundle\Form\Type;
use Propel\PropelBundle\Form\BaseAbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;
use \Trinity\Bundle\UserBundle\Form\EventListener\AddCodeFieldSubscriber;
class GroupType extends BaseAbstractType
{
/**
* {@inheritdoc}
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('name')
->add('roles', 'choice',
array(
'expanded' => true,
'multiple' => true,
'choices' => array_key_exists('roles',$this->getOptions()) ? $this->getOption('roles') : self::getRoles()
)
);
$builder->addEventSubscriber(new AddCodeFieldSubscriber());
}
/**
* {@inheritdoc}
*/
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(
array(
'data_class' => 'FOS\UserBundle\Propel\Group',
));
}
/**
* {@inheritdoc}
*/
public function getName()
{
return 'group';
}
public static function getRoles()
{
return array(
'ROLE_USER' => 'User',
'ROLE_WEBMASTER' => 'Webmaster',
'ROLE_ADMIN' => 'Administrator',
'ROLE_SUPER_ADMIN' => 'Super administrator'
);
}
public static function validatorRoles()
{
return array_keys(self::getRoles());
}
}