<?php
namespace App\Controller;
use App\Service\DashboardHelper;
use App\Util\AcademicYearUtil;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Routing\Annotation\Route;
#[Route("/")]
class DefaultController extends AbstractController
{
#[Route('', name: 'dashboard')]
#[Template]
public function index(Request $request, AcademicYearUtil $academicYearUtil, DashboardHelper $dashboardHelper): array
{
$academicYear = $request->query->get('academicYear');
$academicYears = $academicYearUtil->getAllAvailableAcademicYears();
if ($academicYear == NULL && count($academicYears) > 0)
{
$academicYear = $academicYears[0]['academic_year'];
}
$totalOrInstallmentsCount = $dashboardHelper->getTotalOrInstallmentsCountForAcademicYear($academicYear);
$totalOrInstallmentsCountWithCovered = $dashboardHelper->getTotalOrInstallmentsCountForAcademicYearWithCovered($academicYear);
$totalOrInstallmentsAmount = $dashboardHelper->getTotalOrInstallmentsAmountForAcademicYear($academicYear);
$totalSupportedStudents = $dashboardHelper->getTotalOfSupportedStudents($academicYear);
$totalSupportedStudentsByFaculties = $dashboardHelper->getTotalOfSupportedStudentsByFacultiesAndType($academicYear);
return [
'currentAcademicYear' => $academicYear,
'academicYears' => $academicYears,
'totalOrInstallmentsCount' => $totalOrInstallmentsCount,
'totalOrInstallmentsCountWithCovered' => $totalOrInstallmentsCountWithCovered,
'totalOrInstallmentsAmount' => $totalOrInstallmentsAmount,
'totalSupportedStudents' => $totalSupportedStudents,
'totalSupportedStudentsByFaculties' => $totalSupportedStudentsByFaculties,
];
}
}