src/Controller/DefaultController.php line 25

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Repository\MockDataRepository;
  4. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  5. use Symfony\Component\HttpFoundation\RedirectResponse;
  6. use Symfony\Component\HttpFoundation\Response;
  7. use Symfony\Component\Routing\Annotation\Route;
  8. use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;
  9. class DefaultController extends AbstractController
  10. {
  11. private $tokenStorage;
  12. public function __construct(TokenStorageInterface $tokenStorage)
  13. {
  14. $this->tokenStorage = $tokenStorage;
  15. }
  16. /**
  17. * @Route("/", name="home")
  18. */
  19. public function index(MockDataRepository $mockDataRepository): Response
  20. {
  21. // Überprüfen, ob der Benutzer eingeloggt ist
  22. $user = $this->tokenStorage->getToken()->getUser();
  23. if (is_string($user)) {
  24. // Wenn der Benutzer nicht eingeloggt ist (anonymous), weiterleiten
  25. return new RedirectResponse('/login');
  26. }
  27. $residents = $mockDataRepository->getResidentsMock();
  28. return $this->render('dashboard/dashboard.html.twig', ['residents' => $residents]);
  29. }
  30. }