src/Form/EventListener/User/ValidateUserFieldsSubscriber.php line 19

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace App\Form\EventListener\User;
  4. use App\Entity\Security\User;
  5. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  6. use Symfony\Component\Form\FormEvent;
  7. use Symfony\Component\Form\FormEvents;
  8. class ValidateUserFieldsSubscriber implements EventSubscriberInterface
  9. {
  10.     public static function getSubscribedEvents(): array
  11.     {
  12.         return [FormEvents::POST_SUBMIT => 'postSubmit'];
  13.     }
  14.     public function postSubmit(FormEvent $event): void
  15.     {
  16.         /** @var User $user */
  17.         $user $event->getData();
  18.         if (null !== $user->getId()) {
  19.             return;
  20.         }
  21.         // Hash user's password
  22.         if (null === $user->getPassword() || 'random' === $user->getPassword()) {
  23.             $user->setPassword(time() . random_int(0getrandmax()));
  24.         }
  25.         if (null === $user->getEmail()) {
  26.             $user->setEmail(time() . '-random@foxorder.com');
  27.         }
  28.     }
  29. }