From b6999c0d4b22549feb33f16ed3383fe7a5db2bbf Mon Sep 17 00:00:00 2001 From: =?utf8?q?Rapha=C3=ABl=20Gertz?= Date: Mon, 11 Dec 2023 06:06:28 +0100 Subject: [PATCH] Add register form extension --- Form/RegisterType.php | 69 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 Form/RegisterType.php 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'; + } +} -- 2.41.0