2012-07-07 09:13:13 +00:00
< ? php
2012-07-15 12:56:31 +00:00
namespace KekRozsak\SecurityBundle\Form\Type ;
2012-07-07 09:13:13 +00:00
use Symfony\Component\Form\AbstractType ;
use Symfony\Component\Form\FormBuilderInterface ;
2012-07-31 08:14:26 +00:00
use Symfony\Component\OptionsResolver\OptionsResolverInterface ;
2012-07-07 09:13:13 +00:00
2012-07-09 15:29:37 +00:00
use KekRozsak\FrontBundle\Form\Type\UserDataType ;
2012-07-07 09:13:13 +00:00
class UserType extends AbstractType
{
protected $_registration ;
2012-07-09 15:29:37 +00:00
public function __construct ( $registration = false )
2012-07-07 09:13:13 +00:00
{
$this -> _registration = $registration ;
}
public function buildForm ( FormBuilderInterface $builder , array $options )
{
$builder -> add ( 'username' , null , array (
'label' => 'Felhasználónév' ,
2012-07-09 15:29:37 +00:00
'read_only' => ( ! $this -> _registration ),
2012-07-07 09:13:13 +00:00
'help' => 'Ezt fogod használni az oldalra való bejelentkezéshez. Jelszavadhoz hasonlóan kezeld bizalmasan! Jelentkezés után nem lehet megváltoztatni!' ,
));
$builder -> add ( 'password' , 'repeated' , array (
'type' => 'password' ,
'second_name' => 'confirm' ,
'invalid_message' => 'A két jelszó nem egyezik meg!' ,
2012-07-09 15:29:37 +00:00
'required' => ( $this -> _registration ),
2012-07-07 09:13:13 +00:00
'options' => array (
'label' => 'Jelszó' ,
'help' => 'Ezt fogod használni az oldalra való bejelentkezéshez. Soha ne add meg senkinek!' ,
),
));
$builder -> add ( 'email' , null , array (
'label' => 'E-mail cím' ,
2012-07-09 15:29:37 +00:00
'help' => 'Ezen az e-mail címen értesítünk majd, ha felvételt nyersz a körbe.' ,
2012-07-07 09:13:13 +00:00
));
$builder -> add ( 'displayName' , null , array (
'label' => 'Név' ,
'help' => 'Ezen a néven fog szólítani a közösség. Bármikor megváltoztathatod, de az egyértelműség kedvéért ezt mindig jelezd a többiek felé!' ,
));
2012-07-09 15:29:37 +00:00
if ( ! $this -> _registration )
{
2012-07-13 10:07:21 +00:00
$builder -> add ( 'userData' , new UserDataType (), array (
2012-07-09 15:29:37 +00:00
'label' => 'Egyéb adatok' ,
));
}
else
{
$builder -> add ( 'agree' , 'checkbox' , array (
'property_path' => false ,
'label' => ' ' ,
'help' => 'A Jelentkezés gomb megnyomásával kijelentem, hogy a Kék Rózsa okkultista kör Házirendjét elolvastam, és azt felvételem esetén magamra nézve teljes mértékben elfogadom.' ,
));
}
2012-07-07 09:13:13 +00:00
}
public function getName ()
{
return 'user' ;
}
2012-07-31 08:14:26 +00:00
public function setDefaultOptions ( OptionsResolverInterface $resolver )
2012-07-07 09:13:13 +00:00
{
$opts = array (
2012-07-15 12:56:31 +00:00
'data_class' => 'KekRozsak\SecurityBundle\Entity\User' ,
2012-07-07 09:13:13 +00:00
);
if ( $this -> _registration )
$opts [ 'validation_groups' ] = array ( 'registration' );
2012-07-31 08:14:26 +00:00
$resolver -> setDefaults ( $opts );
2012-07-07 09:13:13 +00:00
}
}