src/Hitso/Bundle/TicketsBundle/EventListener/TicketSubscriber.php line 31

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace Hitso\Bundle\TicketsBundle\EventListener;
  4. use Hitso\Bundle\CommonBundle\Doctrine\Event\EntityEvent;
  5. use Hitso\Bundle\CommonBundle\Helper\Mailer\MailerHelperInterface;
  6. use Hitso\Bundle\TicketsBundle\Entity\Ticket;
  7. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  8. class TicketSubscriber implements EventSubscriberInterface
  9. {
  10.     /**
  11.      * @var MailerHelperInterface
  12.      */
  13.     private $mailerHelper;
  14.     public function __construct(MailerHelperInterface $mailerHelper)
  15.     {
  16.         $this->mailerHelper $mailerHelper;
  17.     }
  18.     public static function getSubscribedEvents()
  19.     {
  20.         return [
  21.             'ticket.post_create' => 'onTicketCreate',
  22.         ];
  23.     }
  24.     public function onTicketCreate(EntityEvent $event)
  25.     {
  26.         $ticket $event->getEntity();
  27.         if ($ticket instanceof Ticket) {
  28.             $this->mailerHelper->sendEmail([
  29.                 'recipient'  => $ticket->getAuthorEmail(),
  30.                 'template'   => 'HitsoCommonBundle:Mail:layout.html.twig',
  31.                 'block'      => 'mail_ticket_create',
  32.                 'parameters' => [
  33.                     'ticket' => $ticket,
  34.                 ],
  35.             ]);
  36.         }
  37.     }
  38. }