<?php
namespace App\Controller\Admin;
use App\Model\RapidAccess;
use App\Repository\AmenageurRepository;
use App\Repository\ClientRepository;
use App\Repository\InstructionRepository;
use App\Repository\InvoiceRepository;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Security;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
/**
* @Route("/admin")
* @Security("is_granted('ROLE_ADMIN')")
*/
class DashboardController extends AbstractController
{
/**
* @Route("/", name="admin_dashboard")
*/
public function index(
RapidAccess $rapidAccessModel,
AmenageurRepository $amenageurRepository,
InstructionRepository $instructionRepository,
InvoiceRepository $invoiceRepository,
ClientRepository $clientRepository
): Response
{
$amenageurs = $amenageurRepository->findAll();
$rapidAccess = $rapidAccessModel->load($amenageurs);
$rapidAccess['amenageurs'] = count($amenageurs);
$rapidAccess['clients'] = $clientRepository->count([]);
return $this->render('admin/dashboard/index.html.twig', [
'current' => 'dashboard',
'access' => $rapidAccess,
'invoices' => $invoiceRepository->findBy([], ['id' => 'DESC'], 10),
]);
}
}