src/EventSubscriber/WorkflowNotificacionesSubscriber.php line 23

Open in your IDE?
  1. <?php
  2. namespace App\EventSubscriber;
  3. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  4. use Symfony\Component\Workflow\Event\Event;
  5. class WorkflowNotificacionesSubscriber implements EventSubscriberInterface
  6. {
  7.     // private $ponderacionService;
  8.     // public function __construct(PonderacionService $ponderacionService)
  9.     // {
  10.     //     $this->ponderacionService = $ponderacionService;
  11.     // }
  12.     public function onLeido(Event $event)
  13.     {
  14.         $notificacionUsuario $event->getSubject();
  15.         $notificacionUsuario->setFechaHoraLeido(new \DateTimeImmutable());
  16.     }
  17.     public function onPublicar(Event $event)
  18.     {
  19.         $notificacion $event->getSubject();
  20.         $notificacion->setFechaHoraPublicacion(new \DateTimeImmutable());
  21.     }
  22.     public function onDespublicar(Event $event)
  23.     {
  24.         $notificacion $event->getSubject();
  25.         $notificacion->setFechaHoraPublicacion(null);
  26.     }
  27.     public function onEliminar(Event $event)
  28.     {
  29.         $notificacion $event->getSubject();
  30.         $notificacion->setFechaEliminacion(new \DateTimeImmutable());
  31.     }
  32.     public static function getSubscribedEvents()
  33.     {
  34.         return [
  35.             'workflow.notificacion_usuario.completed.leido' => 'onLeido',
  36.             'workflow.notificacion.completed.publicar' => 'onPublicar',
  37.             'workflow.notificacion.completed.despublicar' => 'onDespublicar',
  38.             'workflow.notificacion.completed.eliminar' => 'onEliminar',
  39.         ];
  40.     }
  41. }