src/Controller/IncarichiSentEmailAdminController.php line 11

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use Symfony\Component\HttpFoundation\Request;
  4. use Sonata\AdminBundle\Controller\CRUDController;
  5. use Symfony\Component\HttpFoundation\ResponseHeaderBag;
  6. use Symfony\Component\HttpFoundation\Response;
  7. use App\Entity\IncarichiSentEmail;
  8. final class IncarichiSentEmailAdminController extends CRUDController
  9. {
  10.     protected $pdfOutputDir;
  11.     public function __construct(string $pdfOutputDir) {
  12.         $this->pdfOutputDir $pdfOutputDir;
  13.     }
  14.     public function pdfAction(Request $request)
  15.     {
  16.         /** @var IncarichiSentEmail $sentEmail */
  17.         $sentEmail $this->admin->getSubject();
  18.         $pdfContent file_get_contents($this->pdfOutputDir '/incarichi/' $sentEmail->getPdf());
  19.         $response = new Response($pdfContent);
  20.         $disposition $response->headers->makeDisposition(
  21.             ResponseHeaderBag::DISPOSITION_INLINE,
  22.             $sentEmail->getPdf()
  23.         );
  24.         $response->headers->set('Content-Type''application/pdf');
  25.         $response->headers->set('Content-Disposition'$disposition);
  26.         return $response;
  27.     }
  28. }