<?php
namespace App\Domain\Liquidacions\Event;
use App\Domain\Liquidacions\Service\Notifier;
use App\Infrastructure\Entity\Liquidacions\User;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
class CanviEstatLiquidacioSubscriber implements EventSubscriberInterface
{
/**
* @var Notifier
*/
private $notifier;
/**
* @var EntityManagerInterface
*/
private $entityManager;
public function __construct(Notifier $notifier, EntityManagerInterface $entityManager)
{
$this->notifier = $notifier;
$this->entityManager = $entityManager;
}
public static function getSubscribedEvents()
{
return [
CanviEstatLiquidacioEvent::NAME => 'onCanviEstatLiquidacio',
];
}
public function onCanviEstatLiquidacio(CanviEstatLiquidacioEvent $event)
{
$caps = $this->entityManager->getRepository(User::class)->findAll();
$emailsSendTo = [];
foreach ($caps as $cap) {
/* if (
((in_array('ROLE_LIQUIDACIONS_CAP_DEPARTAMENT', $cap->getRoles()) && $cap->getDepartament() === $event->getLiquidacio()->getDepartament())
|| (in_array('ROLE_LIQUIDACIONS_INTERVENCIO', $cap->getRoles())))
&& $cap->getUserConfiguration()->getGetEmails() === true
) {
$emailsSendTo[] = $cap->getEmail();
}
*/
}
//Remove
$emailsSendTo[] = 'didacmartin@gmail.com';
$this->notifier->notifier('cca@cca.es', $emailsSendTo, 'Canvi D\'estat', 'email/notificacio_canvi_estat.html.twig', ['liquidacions' => [$event->getLiquidacio()]]);
}
}