kekrozsak/src/KekRozsak/SecurityBundle/Form/Type/UserType.php

77 lines
2.3 KiB
PHP
Raw Normal View History

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;
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)
{
$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';
}
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');
$resolver->setDefaults($opts);
2012-07-07 09:13:13 +00:00
}
}