<?php
declare(strict_types=1);
namespace App\Form;
use App\Entity\Local\DTO\UserCRUDRequest;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\Form\FormEvent;
use Symfony\Component\Form\FormEvents;
use Symfony\Component\OptionsResolver\OptionsResolver;
class UserCRUDType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('loyaltyMember', UserType::class)
->add('userSessionId');
$builder->get('userSessionId')->addEventListener(FormEvents::SUBMIT, function (FormEvent $event) {
$event->setData(base64_encode(openssl_random_pseudo_bytes(16)));
});
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
'csrf_protection' => false,
'data_class' => UserCRUDRequest::class,
'allow_extra_fields' => true,
]);
}
}