src/Controller/Admin/DashboardController.php line 23

Open in your IDE?
  1. <?php
  2. namespace App\Controller\Admin;
  3. use App\Model\RapidAccess;
  4. use App\Repository\AmenageurRepository;
  5. use App\Repository\ClientRepository;
  6. use App\Repository\InstructionRepository;
  7. use App\Repository\InvoiceRepository;
  8. use Symfony\Component\HttpFoundation\Response;
  9. use Symfony\Component\Routing\Annotation\Route;
  10. use Sensio\Bundle\FrameworkExtraBundle\Configuration\Security;
  11. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  12. /**
  13.  * @Route("/admin")
  14.  * @Security("is_granted('ROLE_ADMIN')")
  15.  */
  16. class DashboardController extends AbstractController
  17. {
  18.     /**
  19.      * @Route("/", name="admin_dashboard")
  20.      */
  21.     public function index(
  22.         RapidAccess $rapidAccessModel, 
  23.         AmenageurRepository $amenageurRepository, 
  24.         InstructionRepository $instructionRepository,
  25.         InvoiceRepository $invoiceRepository,
  26.         ClientRepository $clientRepository
  27.     ): Response
  28.     {
  29.         $amenageurs = $amenageurRepository->findAll();
  30.         $rapidAccess = $rapidAccessModel->load($amenageurs);
  31.         $rapidAccess['amenageurs']  = count($amenageurs);
  32.         $rapidAccess['clients']  = $clientRepository->count([]);
  33.         
  34.         return $this->render('admin/dashboard/index.html.twig', [
  35.             'current' => 'dashboard',
  36.             'access' => $rapidAccess,
  37.             'invoices' => $invoiceRepository->findBy([], ['id' => 'DESC'], 10),
  38.         ]);
  39.     }
  40. }