2022-07-21 16:15:47 +02:00
|
|
|
<?php
|
2022-09-23 16:14:15 +02:00
|
|
|
|
2022-07-21 16:15:47 +02:00
|
|
|
namespace App\Controller;
|
|
|
|
|
2023-01-12 16:14:31 +01:00
|
|
|
use Doctrine\Persistence\ManagerRegistry;
|
2022-07-21 16:15:47 +02:00
|
|
|
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
|
|
|
use Symfony\Component\HttpFoundation\Request;
|
|
|
|
use Symfony\Component\HttpFoundation\Response;
|
2022-08-24 14:40:10 +02:00
|
|
|
|
2022-07-21 16:15:47 +02:00
|
|
|
class HomeController extends AbstractController
|
|
|
|
{
|
2023-01-12 16:14:31 +01:00
|
|
|
public function home(Request $request, ManagerRegistry $em)
|
2022-09-23 16:14:15 +02:00
|
|
|
{
|
2022-10-04 11:55:50 +02:00
|
|
|
if ($request->getSession()->get('fgforceconnect') && !$this->getUser()) {
|
2022-10-04 11:32:05 +02:00
|
|
|
return $this->redirectToRoute('app_login');
|
|
|
|
}
|
|
|
|
|
2023-01-23 09:46:34 +01:00
|
|
|
// Récupération de la page encours
|
|
|
|
$id = $request->query->get('id');
|
2023-01-12 16:14:31 +01:00
|
|
|
|
2023-01-23 09:46:34 +01:00
|
|
|
// Calcul des pages de l'utilisateur
|
|
|
|
$em->getRepository("App\Entity\Page")->getPagesUser($this->getUser(), $id, $pagecurrent, $pagesportal, $pagesuser, $groups);
|
|
|
|
|
|
|
|
// si aucune page = page par défaut
|
|
|
|
if ($pagecurrent) {
|
|
|
|
return $this->render('Page/pages.html.twig', [
|
|
|
|
'useheader' => true,
|
|
|
|
'usemenu' => true,
|
|
|
|
'usesidebar' => false,
|
|
|
|
'entity' => $pagecurrent,
|
|
|
|
'access' => 'all',
|
|
|
|
'pagesportal' => $pagesportal,
|
|
|
|
'pagesuser' => $pagesuser,
|
|
|
|
'groups' => $groups,
|
|
|
|
'canadd' => true,
|
|
|
|
'widgetsuser' => $em->getRepository("App\Entity\Widget")->getWidgetAccess('all'),
|
|
|
|
'widgetsgroup' => $em->getRepository("App\Entity\Widget")->getWidgetAccess('group'),
|
|
|
|
]);
|
|
|
|
}
|
2023-01-10 11:13:28 +01:00
|
|
|
|
2022-10-04 11:55:50 +02:00
|
|
|
if (!$this->getUser()) {
|
2022-10-04 11:32:05 +02:00
|
|
|
return $this->render('Home/home.html.twig', [
|
|
|
|
'useheader' => true,
|
|
|
|
'usemenu' => false,
|
|
|
|
'usesidebar' => false,
|
|
|
|
'maxsize' => 1000,
|
|
|
|
]);
|
2022-09-23 16:14:15 +02:00
|
|
|
}
|
2022-10-04 11:55:50 +02:00
|
|
|
if ($this->getUser()->hasRole('ROLE_USER')) {
|
2022-10-04 11:32:05 +02:00
|
|
|
return $this->redirectToRoute('app_user_home');
|
2022-10-04 11:55:50 +02:00
|
|
|
}
|
2022-10-04 11:32:05 +02:00
|
|
|
|
2022-10-04 11:55:50 +02:00
|
|
|
if ($this->getUser()->hasRole('ROLE_MANAGER')) {
|
2022-10-04 11:32:05 +02:00
|
|
|
return $this->redirectToRoute('app_manager_home');
|
2022-10-04 11:55:50 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
if ($this->getUser()->hasRole('ROLE_MASTER')) {
|
2022-10-04 11:32:05 +02:00
|
|
|
return $this->redirectToRoute('app_master_home');
|
2022-10-04 11:55:50 +02:00
|
|
|
}
|
2022-09-23 16:14:15 +02:00
|
|
|
|
2022-10-04 11:55:50 +02:00
|
|
|
if ($this->getUser()->hasRole('ROLE_MODO')) {
|
2022-10-04 11:32:05 +02:00
|
|
|
return $this->redirectToRoute('app_modo_home');
|
2022-10-04 11:55:50 +02:00
|
|
|
}
|
2022-10-04 11:32:05 +02:00
|
|
|
|
2022-10-04 11:55:50 +02:00
|
|
|
if ($this->getUser()->hasRole('ROLE_ADMIN')) {
|
2022-10-04 11:32:05 +02:00
|
|
|
return $this->redirectToRoute('app_admin_home');
|
2022-10-04 11:55:50 +02:00
|
|
|
}
|
2022-10-04 11:32:05 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
public function homeuser($access): Response
|
|
|
|
{
|
2023-01-23 09:46:34 +01:00
|
|
|
return $this->render('Page/default.html.twig', [
|
2022-09-23 16:14:15 +02:00
|
|
|
'useheader' => true,
|
2022-10-04 11:32:05 +02:00
|
|
|
'usemenu' => false,
|
2022-09-23 16:14:15 +02:00
|
|
|
'usesidebar' => false,
|
2022-07-21 16:15:47 +02:00
|
|
|
]);
|
|
|
|
}
|
2022-09-23 16:14:15 +02:00
|
|
|
|
2022-10-04 11:32:05 +02:00
|
|
|
public function homemaster($access): Response
|
2022-09-23 16:14:15 +02:00
|
|
|
{
|
2023-01-23 09:46:34 +01:00
|
|
|
return $this->render('Page/default.html.twig', [
|
2022-09-23 16:14:15 +02:00
|
|
|
'useheader' => true,
|
|
|
|
'usemenu' => false,
|
|
|
|
'usesidebar' => false,
|
2022-07-21 16:15:47 +02:00
|
|
|
]);
|
|
|
|
}
|
|
|
|
|
2022-10-04 11:32:05 +02:00
|
|
|
public function homemanager($access): Response
|
2022-09-23 16:14:15 +02:00
|
|
|
{
|
2022-10-04 11:32:05 +02:00
|
|
|
return $this->redirectToRoute('app_manager_user');
|
2022-07-21 16:15:47 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
public function homemodo($access): Response
|
2022-09-23 16:14:15 +02:00
|
|
|
{
|
|
|
|
return $this->redirectToRoute('app_modo_niveau02');
|
2022-07-21 16:15:47 +02:00
|
|
|
}
|
|
|
|
|
2022-10-04 11:32:05 +02:00
|
|
|
public function homeadmin($access): Response
|
|
|
|
{
|
|
|
|
return $this->redirectToRoute('app_admin_config');
|
|
|
|
}
|
|
|
|
|
2022-07-21 16:15:47 +02:00
|
|
|
public function docrest(): Response
|
2022-09-23 16:14:15 +02:00
|
|
|
{
|
|
|
|
return $this->render('Home/docrest.html.twig', [
|
|
|
|
'useheader' => true,
|
|
|
|
'usemenu' => false,
|
|
|
|
'usesidebar' => true,
|
2022-07-21 16:15:47 +02:00
|
|
|
]);
|
|
|
|
}
|
2022-09-23 16:14:15 +02:00
|
|
|
}
|