src/Mm/Escmid/ResearchGrantBundle/EventSubscriber/MailServiceEventSubscriber.php line 23

Open in your IDE?
  1. <?php
  2. namespace Mm\Escmid\ResearchGrantBundle\EventSubscriber;
  3. use Mm\Escmid\ResearchGrantBundle\Entity\EmailLog;
  4. use Mm\Escmid\ResearchGrantBundle\Event\MailSendEvent;
  5. use Mm\Escmid\ResearchGrantBundle\RgrDao;
  6. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  7. class MailServiceEventSubscriber implements EventSubscriberInterface
  8. {
  9. public function __construct(private readonly RgrDao $dao)
  10. {
  11. }
  12. public static function getSubscribedEvents()
  13. {
  14. return [
  15. MailSendEvent::NAME => 'onMailSend',
  16. ];
  17. }
  18. public function onMailSend(MailSendEvent $event): void
  19. {
  20. $emailLog = new EmailLog();
  21. $emailLog->setAction($event->getAction());
  22. $emailLog->setActionTime(new \DateTime());
  23. $emailLog->setReviewerId($event->getReviewerId());
  24. $emailLog->setProposalId($event->getProposalId());
  25. $emailLog->setMailType($event->getMailType());
  26. $this->dao->saveEmailLog($emailLog);
  27. }
  28. }