<?php
namespace App\Controller;
use App\Repository\AbsenceRepository;
use App\Repository\SchedulesRepository;
use App\Repository\TimeRepository;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\IsGranted;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
#[Route('', name: 'main_')]
class MainController extends AbstractController
{
#[IsGranted('ROLE_USER')]
#[Route('/', name: 'home')]
public function index(TimeRepository $timeRepository, AbsenceRepository $absenceRepository, SchedulesRepository $schedulesRepository): Response
{
$user = $this->getUser();
$times = $timeRepository->findBy(['user' => $user], ['start' => 'DESC'], 4);
$absences = $absenceRepository->findBy(['employee' => $user], ['startDate' => 'DESC'], 4);
$schedules = $schedulesRepository->findBy(['user' => $user, 'date' => new \DateTime('now')], ['startTime' => 'ASC']);
return $this->render('main/index.html.twig', [
'times' => $times,
'absences' => $absences,
'schedules' => $schedules,
]);
}
#[IsGranted('ROLE_MANAGER')]
#[Route('/admin', name: 'admin')]
public function adminIndex(): Response
{
return $this->render('admin/index.html.twig', [
]);
}
}