Added user profile editing support

This commit is contained in:
Polonkai Gergely
2012-07-09 17:29:37 +02:00
parent 0fad11ffd0
commit 8a55e32303
12 changed files with 775 additions and 24 deletions

View File

@@ -0,0 +1,79 @@
<?php
namespace KekRozsak\FrontBundle\Form\Type;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
class UserDataType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('emailPublic', null, array(
'label' => 'Publikus legyen az e-mail címed?',
'help' => 'Ha bejelölöd, a kör többi tagja láthatja az e-mail címedet.',
'required' => false,
));
$builder->add('realName', null, array(
'label' => 'Valódi neved',
'help' => 'A valódi, polgári neved. Nem kötelező mező, akkor érdemes megadni, ha szeretnéd, hogy a többi tag megtalálhasson különféle közösségi oldalakon.',
));
$builder->add('realNamePublic', null, array(
'label' => 'Publikus legyen a valódi neved?',
'help' => 'Ha bejelölöd, a kör többi tagja láthatja a valódi neved.',
'required' => false,
));
$builder->add('selfDescription', null, array(
'label' => 'Rövid leírás Magadról',
'help' => 'Írj ide egy rövid leírást saját magadról. Ez mindenképpen megjelenik majd a profilodon, így a többiek tudhatják, hogy mivel is foglalkozol.',
));
$builder->add('msnAddress', null, array(
'label' => 'MSN címed',
'help' => 'Egy MSN cím, amin elérhető vagy.'
));
$builder->add('msnAddressPublic', null, array(
'label' => 'Publikus legyen az MSN címed?',
'help' => 'Ha bejelölöd, a kör többi tagja láthatja az MSN címedet.',
'required' => false,
));
$builder->add('googleTalk', null, array(
'label' => 'Google Talk címed',
'help' => 'Itt egy olyan GMail-es e-mail címet adhatsz meg, amin elérhető vagy a GMail csevegőben.',
));
$builder->add('googleTalkPublic', null, array(
'label' => 'Publikus legyen a Google Talk címed?',
'help' => 'Ha bejelölöd, a kör többi tagja láthatja a Google Talk címedet.',
'required' => false,
));
$builder->add('skype', null, array(
'label' => 'Skype neved',
'help' => 'Egy Skype név, amin elérhető vagy.',
));
$builder->add('skypePublic', null, array(
'label' => 'Publikus legyen a Skype neved?',
'help' => 'Ha bejelölöd, a kör többi tagja láthatja a Skype nevedet.',
'required' => false,
));
$builder->add('phoneNumber', null, array(
'label' => 'Telefonszámod',
'help' => 'Egy telefonszám, amin elérhető vagy. Programszervezéseknél jól jöhet.',
));
$builder->add('phoneNumberPublic', null, array(
'label' => 'Publikus legyen a telefonszámod?',
'help' => 'Ha bejelölöd, a kör többi tagja láthatja a telefonszámodat.',
'required' => false,
));
}
public function getName()
{
return 'user_data';
}
public function getDefaultOptions()
{
return array(
'data_class' => 'KekRozsak\FrontBundle\Entity\UserData'
);
}
}

View File

@@ -4,11 +4,13 @@ namespace KekRozsak\FrontBundle\Form\Type;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use KekRozsak\FrontBundle\Form\Type\UserDataType;
class UserType extends AbstractType
{
protected $_registration;
public function __construct($registration)
public function __construct($registration = false)
{
$this->_registration = $registration;
}
@@ -17,12 +19,14 @@ class UserType extends AbstractType
{
$builder->add('username', null, array(
'label' => 'Felhasználónév',
'read_only' => (!$this->_registration),
'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!',
'required' => ($this->_registration),
'options' => array(
'label' => 'Jelszó',
'help' => 'Ezt fogod használni az oldalra való bejelentkezéshez. Soha ne add meg senkinek!',
@@ -30,16 +34,26 @@ class UserType extends AbstractType
));
$builder->add('email', null, array(
'label' => 'E-mail cím',
'help' => 'Ezen az e-mail címen értesítünk majd, ha felvételt nyersz a körbe.',
));
$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é!',
));
$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.',
));
if (!$this->_registration)
{
$builder->add('user_data', new UserDataType(), array(
'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.',
));
}
}
public function getName()