<?php
namespace App\Controller\Front;
use App\Entity\User;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
class BaseController extends AbstractController
{
#[Route('', name: 'homepage')]
#[Route('', name: 'admin')]
public function homepage(): Response
{
if (!$this->isGranted('ROLE_USER')) {
return $this->redirectToRoute('app_login');
}
// Redirect all superadmins (including read-only) to groupement index
if ($this->isGranted('ROLE_SUPERADMIN') || $this->isGranted('ROLE_READONLY_SUPERADMIN')) {
return $this->redirectToRoute('groupement.index');
}
/** @var User $user */
$user = $this->getUser();
if ($groupement = $user->getDefaultGroupement()) {
return $this->redirectToRoute('groupement.show', ['id' => $groupement->getId()]);
}
if ($project = $user->getDefaultProject()) {
return $this->redirectToRoute('project.show', ['id' => $project->getId()]);
}
return $this->render('app/no_access.html.twig');
}
}