<?php
namespace Bidcoz\Bundle\UserBundle\Form\Type;
use Bidcoz\Bundle\CoreBundle\Form\Type\TimezoneType;
use Karser\Recaptcha3Bundle\Form\Recaptcha3Type;
use Karser\Recaptcha3Bundle\Validator\Constraints\Recaptcha3;
use RS\DiExtraBundle\Annotation as DI;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
use Symfony\Component\Form\Extension\Core\Type\EmailType;
use Symfony\Component\Form\Extension\Core\Type\PasswordType;
use Symfony\Component\Form\Extension\Core\Type\RepeatedType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
/**
* @DI\FormType
*/
class RegistrationFormType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->remove('username')
->add('firstName', TextType::class, [
'label' => 'First Name:',
'attr' => [
'placeholder' => 'First Name',
],
])
->add('lastName', TextType::class, [
'label' => 'Last Name:',
'attr' => [
'placeholder' => 'Last Name',
],
])
->add('phone', TextType::class, [
'required' => false,
'label' => '*Mobile Phone Number:',
'attr' => [
'class' => 'intl-phone',
],
])
->add('smsOptIn', CheckboxType::class, [
'required' => false,
'label' => 'By checking this box, I agree to receive SMS text messages to the phone number provided regarding my activity in the fundraisers I am participating in.',
])
->add('timezone', TimezoneType::class)
->add('acceptTerms', CheckboxType::class, [
'required' => true,
'label' => 'I agree to the Bidcoz User Terms of Use',
])
->add('plainPassword', PasswordType::class, [
'required' => true,
'attr' => [
'placeholder' => 'Password',
],
])
->add('email', EmailType::class, [
'label' => 'Email:',
'attr' => [
'placeholder' => 'Email Address',
],
])
->add('captcha', Recaptcha3Type::class, [
'constraints' => new Recaptcha3(),
'action_name' => 'registration',
])
;
}
public function getParent()
{
return \FOS\UserBundle\Form\Type\RegistrationFormType::class;
}
/**
* {@inheritdoc}
*/
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
'csrf_token_id' => 'registration',
]);
}
public function getName()
{
return 'bidcoz_user_registration';
}
}