From: Raphaël Gertz Date: Mon, 11 Dec 2023 05:06:28 +0000 (+0100) Subject: Add register form extension X-Git-Tag: 0.2~30 X-Git-Url: https://git.rapsys.eu/blogbundle/commitdiff_plain/b6999c0d4b22549feb33f16ed3383fe7a5db2bbf?hp=7635accc62b4136f264bacad55c3a566b5b9268f Add register form extension --- diff --git a/Form/RegisterType.php b/Form/RegisterType.php new file mode 100644 index 0000000..690fefb --- /dev/null +++ b/Form/RegisterType.php @@ -0,0 +1,69 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Rapsys\BlogBundle\Form; + +use Symfony\Bridge\Doctrine\Form\Type\EntityType; +use Symfony\Component\Form\Extension\Core\Type\TelType; +use Symfony\Component\Form\Extension\Core\Type\TextType; +use Symfony\Component\Form\FormBuilderInterface; +use Symfony\Component\OptionsResolver\OptionsResolver; + +use Rapsys\AirBundle\Entity\Country; + +use Rapsys\UserBundle\Form\RegisterType as BaseRegisterType; + +class RegisterType extends BaseRegisterType { + /** + * {@inheritdoc} + */ + public function buildForm(FormBuilderInterface $builder, array $options): FormBuilderInterface { + //Call parent build form + $form = parent::buildForm($builder, $options); + + //Add extra pseudonym field + if (!empty($options['pseudonym'])) { + $form->add('pseudonym', TextType::class, ['attr' => ['placeholder' => 'Your pseudonym'], 'required' => false]); + } + + //Add extra slug field + if (!empty($options['slug'])) { + $form->add('slug', TextType::class, ['attr' => ['placeholder' => 'Your slug'], 'required' => false]); + } + + //Return form + return $form; + } + + /** + * {@inheritdoc} + */ + public function configureOptions(OptionsResolver $resolver): void { + //Call parent configure options + parent::configureOptions($resolver); + + //Set defaults + $resolver->setDefaults(['pseudonym' => true, 'slug' => false]); + + //Add extra pseudonym option + $resolver->setAllowedTypes('pseudonym', 'boolean'); + + //Add extra slug option + $resolver->setAllowedTypes('slug', 'boolean'); + } + + /** + * {@inheritdoc} + */ + public function getName(): string { + return 'rapsys_blog_register'; + } +}