src/EventListener/JobAlertCreatedEventListener.php line 29

Open in your IDE?
  1. <?php
  2. namespace App\EventListener;
  3. use App\Component\Configuration\Util\Config;
  4. use App\Event\JobAlertCreatedEvent;
  5. use App\Sendgrid\MailerInterface;
  6. use App\Service\SiteService;
  7. use App\Util\StringToEntityUtil;
  8. use Gedmo\Translatable\TranslatableListener;
  9. use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface;
  10. class JobAlertCreatedEventListener extends FormSubmitEventListener
  11. {
  12.     private SiteService $siteService;
  13.     public function __construct(
  14.         MailerInterface $mailer,
  15.         ParameterBagInterface $parameterBag,
  16.         StringToEntityUtil $stringToEntityUtil,
  17.         ?TranslatableListener $translatableListener,
  18.         Config $config,
  19.         SiteService $siteService
  20.     ) {
  21.         parent::__construct($mailer$parameterBag$stringToEntityUtil$translatableListener$config);
  22.         $this->siteService $siteService;
  23.     }
  24.     public function jobAlertCreated(JobAlertCreatedEvent $event)
  25.     {
  26.         if (false === $this->config->get('site_jobalert_company_send_mail')
  27.             || null === $this->config->get('site_jobalert_company_email')
  28.         ) {
  29.             return;
  30.         }
  31.         $companyMail $this->getMail('site_jobalert_company_email');
  32.         $companyMailAddress $this->config->get('site_jobalert_company_email_address')
  33.             ?: $this->getCompanyEmailaddress();
  34.         if ($companyMail && $companyMailAddress) {
  35.             $this->mailer->mail(
  36.                 $companyMail,
  37.                 $this->getCompanyEmailSender(),
  38.                 [$companyMailAddress],
  39.                 ['jobAlert' => $event->getJobAlert(), 'site' => $this->siteService->getSite()],
  40.             );
  41.         }
  42.     }
  43. }