src/EventListener/AppraisalCycleStartedListener.php line 21

Open in your IDE?
  1. <?php
  2. namespace App\EventListener;
  3. use App\Event\Appraisal\AppraisalCycleStartedEvent;
  4. use App\Service\Appraisal\AppraisalService;
  5. use App\Service\User\UserHelper;
  6. use Doctrine\ORM\EntityManagerInterface;
  7. class AppraisalCycleStartedListener
  8. {
  9.     private $em;
  10.     private $appraisalService;
  11.     public function __construct(EntityManagerInterface $emAppraisalService $appraisalService)
  12.     {
  13.         $this->em $em;
  14.         $this->appraisalService $appraisalService;
  15.     }
  16.     public function onAppraisalCycleStarted(AppraisalCycleStartedEvent $event)
  17.     {
  18.         $appraisalCycle $event->getCycle();
  19.         if ($appraisalCycle->getHasAssessments()) {
  20.             return;
  21.         }
  22.         $users UserHelper::getAllUsersWithJobAssignment($this->em);
  23.         foreach ($users as $user) {
  24.             if (!$manager $user->getManager()) {
  25.                 continue;
  26.             }
  27.             $this->appraisalService->createMSCOnlyAppraisal($user$manager$appraisalCycle);
  28.         }
  29.     }
  30. }