<?php
namespace App\MailBundle\EventListener\ValidationRequest;
use App\Entity\Staff\Staff;
use App\Entity\ValidationRequest;
use App\Event\ValidationRequest\ValidationRequestDenyUnlockEvent;
use App\Event\ValidationRequest\ValidationRequestDenyEvent;
use App\MailBundle\Entity\Mail;
use App\MailBundle\EventListener\MailListener;
use App\MailBundle\Exception\MissingTemplateException;
use App\MailBundle\Service\MailSender;
use JetBrains\PhpStorm\NoReturn;
use Symfony\Component\Mailer\Exception\TransportExceptionInterface as TransportExceptionInterfaceAlias;
use Symfony\Contracts\EventDispatcher\Event;
use Twig\Error\LoaderError;
use Twig\Error\RuntimeError;
use Twig\Error\SyntaxError;
class ValidationRequestDenyEventListener extends ValidationRequestEventListener
{
/**
* @throws SyntaxError
* @throws MissingTemplateException
* @throws TransportExceptionInterfaceAlias
* @throws RuntimeError
* @throws LoaderError
*/
#[NoReturn]
public function onDenyValidationRequestEvent(ValidationRequestDenyEvent $event)
{
$validationRequest = $event?->getValidationRequest();
$from = $validationRequest?->getRefusedBy();
$this->sendMail($validationRequest, $from, Mail::DENY_VALIDATION_REQUEST_TEMPLATE);
}
}