src/EventListener/TalentsoftApplicantEventListener.php line 43

Open in your IDE?
  1. <?php
  2. namespace App\EventListener;
  3. use App\Event\ApplicantEvent;
  4. use App\Util\Talentsoft;
  5. use Doctrine\ORM\EntityManagerInterface;
  6. use Flagception\Manager\FeatureManagerInterface;
  7. class TalentsoftApplicantEventListener
  8. {
  9.     /**
  10.      * @var EntityManagerInterface
  11.      */
  12.     private $entityManager;
  13.     /**
  14.      * @var FeatureManagerInterface
  15.      */
  16.     private $featureManager;
  17.     /**
  18.      * @var Talentsoft
  19.      */
  20.     private $talentsoft;
  21.     /**
  22.      * ApplicantEventListener constructor.
  23.      */
  24.     public function __construct(
  25.         EntityManagerInterface $entityManager,
  26.         FeatureManagerInterface $featureManager,
  27.         Talentsoft $talentsoft
  28.     ) {
  29.         $this->entityManager $entityManager;
  30.         $this->featureManager $featureManager;
  31.         $this->talentsoft $talentsoft;
  32.     }
  33.     /**
  34.      * @throws \Exception
  35.      */
  36.     public function applicantSubmit(ApplicantEvent $applicantEvent)
  37.     {
  38.         if (!$this->featureManager->isActive(FeatureFlagListener::FEATURE_TALENTSOFT)) {
  39.             return;
  40.         }
  41.         $applicant $applicantEvent->getApplicant();
  42.         $CvFile = (!empty($applicantEvent->getForm()['CVFile'])) ? $applicantEvent->getForm()['CVFile']->getData() : null;
  43.         $motivationFile null;
  44.         if (!empty($applicantEvent->getForm()['MotivationFile'])) {
  45.             $motivationFile $applicantEvent->getForm()['MotivationFile']->getData();
  46.         }
  47.         $this->talentsoft->postApplicant($applicant$CvFile$motivationFile);
  48.     }
  49. }