src/Controller/DashboardController.php line 18

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace App\Controller;
  4. use App\Repository\EventRepository;
  5. use App\Repository\PostRepository;
  6. use App\Repository\SettingRepository;
  7. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  8. use Symfony\Component\HttpFoundation\Request;
  9. use Symfony\Component\HttpFoundation\Response;
  10. use Symfony\Component\Routing\Annotation\Route;
  11. class DashboardController extends AbstractController
  12. {
  13. #[Route(path: '/', name: 'dashboard')]
  14. public function index(
  15. Request $request,
  16. SettingRepository $settingRepository,
  17. EventRepository $eventRepository,
  18. PostRepository $postRepository): Response
  19. {
  20. $lastLogin = null;
  21. if($request->hasSession() && $request->getSession()->get('lastLogin')) {
  22. $lastLogin = $request->getSession()->get('lastLogin');
  23. }
  24. return $this->render('dashboard/index.html.twig', [
  25. 'settings' => $settingRepository->find(SettingController::MAIN_SETTING_ROW),
  26. 'lastLogin' => $lastLogin,
  27. 'lastPost' => $postRepository->findOneBy([], ['createdAt' => 'DESC']),
  28. 'nextEvent' => $eventRepository->findNextEventByUser($this->getUser()),
  29. 'numEventsThisMonth' => $eventRepository->findNumEventsThisMonthByUser($this->getUser()),
  30. ]);
  31. }
  32. }