UploadedFileController.php 1.97 KiB
<?php declare(strict_types=1);
/*
 * Copyright (C) 2015-2017 IRSTEA
 * All rights reserved.
 */
namespace Irstea\FileUploadBundle\Controller;
use Irstea\FileUploadBundle\Entity\UploadedFile;
use Pagerfanta\Adapter\DoctrineORMAdapter;
use Pagerfanta\Pagerfanta;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Security;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
/**
 * UploadedFile controller.
 * @Route("/files")
 * @Security("is_granted('ROLE_FILES_ADMIN')")
class UploadedFileController extends Controller
    /**
     * Lists all UploadedFile entities.
     * @Route("/", name="files")
     * @Method("GET")
     * @Template()
    public function indexAction(Request $request)
        $em = $this->getDoctrine()->getManager();
        $queryBuilder = $em->getRepository('IrsteaFileUploadBundle:UploadedFile')
            ->createQueryBuilder('u')
            ->orderBy('u.createdAt', 'DESC');
        $pager = new Pagerfanta(new DoctrineORMAdapter($queryBuilder));
        $pager->setCurrentPage($request->query->get('page', 1));
        $uploadedFiles = $pager->getCurrentPageResults();
        return [
            'uploadedFiles' => $uploadedFiles,
            'pager'         => $pager,
    /**
     * Finds and displays a UploadedFile entity.
     * @Route("/{id}", name="files_show")
     * @Method("GET")
     * @Template()
    public function showAction(UploadedFile $uploadedFile)
        return [
            'uploadedFile' => $uploadedFile,
    /**
     * @param string $message
     * @param array  $parameters
    public function notice($message, array $parameters = [])
        $this->get('monolog.logger.irstea_logger')->notice($message, $parameters);
717273
} }