9
9
class RegistrationType extends AbstractType
11
/* You MUST define email and browser in the options -- See DefaultController's use of this class */
12
11
public function buildForm(FormBuilderInterface $builder, array $options)
14
13
$builder->add('pseudonym', 'text', array(
25
24
'required' => true,
28
$builder->add('proficiency', 'choice', array(
29
'label' => 'form.reg.proficiency.label',
31
'beginner' => 'form.reg.proficiency.beginner',
32
'poweruser' => 'form.reg.proficiency.advanced',
33
'techy' => 'form.reg.proficiency.tech',
34
'pro' => 'form.reg.proficiency.pro',
41
27
$builder->add('occupation', 'text', array(
42
28
'label' => 'form.reg.occupation',
43
29
'required' => true,
57
43
'expanded' => true,
60
$builder->add('distro', 'choice', array(
61
'label' => 'form.reg.distro.label',
63
//'debian' => 'Debian',
64
'ubuntu' => 'form.reg.distro.ubuntu',
65
'other' => 'form.reg.distro.other',
72
$builder->add('distro_other', 'text', array(
73
'label' => 'form.reg.distro.otherlabel',
77
$builder->add('de', 'choice', array(
78
'label' => 'form.reg.de.label',
80
//'xfce' => 'form.reg.de.xfce',
81
'unity' => 'form.reg.de.unity',
82
//'gnome' => 'form.reg.de.gnome',
83
'other' => 'form.reg.de.other',
89
$builder->add('browser', 'choice', array(
90
'label' => 'form.reg.browser.label',
92
//'firefox' => 'form.reg.browser.ff',
93
'chrome' => 'form.reg.browser.chrome',
94
'other' => 'form.reg.browser.other',
96
'data' => $options['browser'],
102
46
$builder->add('gender', 'choice', array(
103
47
'label' => 'form.reg.gender.label',
104
48
'choices' => array('f' => 'form.reg.gender.female', 'm' => 'form.reg.gender.male', 'o' => 'form.reg.gender.other'),
106
50
'expanded' => true,
53
$builder->add('city', 'choice', array(
54
'label' => 'form.reg.city.label',
55
'choices' => array('shanghai' => 'form.reg.city.shanghai', 'beijing' => 'form.reg.city.beijing', 'other' => 'form.reg.city.other'),
61
$builder->add('city_other', 'text', array(
62
'label' => 'form.reg.city.otherlabel',
109
66
$builder->add('register', 'submit', array('label' => 'form.reg.submit'));
119
76
$resolver->setDefaults(array(
121
'browser' => array(),
122
78
'error_mapping' => array(
123
'isDistroValid' => 'distro',
79
'isCityValid' => 'city',
124
80
'isEmailValid' => 'email',
125
81
'isPseudonymValid' => 'pseudonym',