From 7635accc62b4136f264bacad55c3a566b5b9268f Mon Sep 17 00:00:00 2001 From: =?utf8?q?Rapha=C3=ABl=20Gertz?= Date: Mon, 11 Dec 2023 06:05:46 +0100 Subject: [PATCH] Add edit form extension --- Form/EditType.php | 65 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 Form/EditType.php diff --git a/Form/EditType.php b/Form/EditType.php new file mode 100644 index 0000000..8e0a543 --- /dev/null +++ b/Form/EditType.php @@ -0,0 +1,65 @@ + + * + * 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\Component\Form\Extension\Core\Type\TextType; +use Symfony\Component\Form\FormBuilderInterface; +use Symfony\Component\OptionsResolver\OptionsResolver; + +use Rapsys\UserBundle\Form\EditType as BaseEditType; + +class EditType extends BaseEditType { + /** + * {@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_edit'; + } +} -- 2.41.1