src/EventSubscriber/PsRequest/PsRequestCreatedEventSubscriber.php line 23

Open in your IDE?
  1. <?php
  2. namespace App\EventSubscriber\PsRequest;
  3. use App\Event\PsRequestCreatedEvent;
  4. use App\Service\MailerService;
  5. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  6. use Twig\Environment;
  7. class PsRequestCreatedEventSubscriber implements EventSubscriberInterface
  8. {
  9.     public function __construct(private string $reversionMailAddress, private MailerService $mailerService, private Environment $twig)
  10.     {
  11.     }
  12.     public static function getSubscribedEvents(): array
  13.     {
  14.         return [
  15.             PsRequestCreatedEvent::class => 'onPsRequestCreatedEvent',
  16.         ];
  17.     }
  18.     public function onPsRequestCreatedEvent(PsRequestCreatedEvent $createdEvent): void
  19.     {
  20.         $psRequest $createdEvent->getPsRequest();
  21.         $psAmount $psRequest->getAmount();
  22.         $iban $psRequest->getIban();
  23.         $user $psRequest->getPlayer()->getUser();
  24.         $emailTemplate $this->twig->render('emails/ps-request/created-ps-request.mjml.twig', ['username' => $user->getUserIdentifier(), 'psAmount' => $psAmount'iban' => $iban]);
  25.         // send mail to reversion address mail
  26.         $this->mailerService->send($this->reversionMailAddress'Une nouvelle demande de reversion à été créée.'$emailTemplate);
  27.     }
  28. }