src/EventSubscriber/ElTaskAttemptSubscriber.php line 25

Open in your IDE?
  1. <?php
  2. namespace App\EventSubscriber;
  3. use App\Entity\ElCourseJoin;
  4. use Doctrine\ORM\EntityManagerInterface;
  5. use App\Event\ElTaskAttemptPostUpdateEvent;
  6. use Symfony\Component\Security\Core\Security;
  7. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  8. class ElTaskAttemptSubscriber implements EventSubscriberInterface
  9. {
  10.     public function __construct(
  11.         private EntityManagerInterface $_em,
  12.         private Security $security
  13.     ) {}
  14.     public static function getSubscribedEvents(): array
  15.     {
  16.         return [
  17.             ElTaskAttemptPostUpdateEvent::NAME => 'onPostUpdate'
  18.         ];
  19.     }
  20.     public function onPostUpdate(ElTaskAttemptPostUpdateEvent $event)
  21.     {
  22.         $object $event->getObject();
  23.         $elCourse $object->getElTask()->getElCourse();
  24.         $this->_em->getRepository(ElCourseJoin::class)
  25.             ->calculateCoursePorgress($elCourse$this->security->getUser());
  26.     }
  27. }