<?php
/**
* AppController.php.
*/
namespace App\Controller;
use App\Utils\MediaManager;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
/**
* Default app controller.
*/
class AppController extends AbstractController
{
/**
* Render homepage or redirect to authentication.
*/
#[Route(path: '/fr/login', name: 'retrocompat_old_login_fr')]
public function retrocompatOldLoginFr(Request $request): Response
{
return new Response(
'',
Response::HTTP_OK,
['content-type' => 'text/html']
);
}
/**
* Render homepage or redirect to authentication.
*/
#[Route(path: '/', name: 'front_homepage')]
public function index(Request $request): RedirectResponse|Response
{
if ($this->getUser()->hasGroup('GROUP_ADMIN')) {
return $this->redirect($this->generateUrl('app_defaultback_index'));
} else {
return $this->forward('App\Controller\DefaultController::index');
}
}
/**
* Render information privacy front page.
*/
#[Route(path: '/informations-confidentialite')]
public function informationsPrivacy(): Response
{
return $this->render('front/Default/informations-privacy.html.twig');
}
/**
* Render information legal notice front page.
*/
public function legalNotice(): Response
{
return $this->render('front/Default/legal-notice.html.twig');
}
/**
* Render information privacy front page.
*/
#[Route(path: '/medias/{containerName}/{name}')]
public function getUploadedMedia(Request $request, MediaManager $mediaManager, $containerName = 'default', $name = null): Response
{
if ($containerName && !$name) {
$name = $containerName;
$containerName = null;
}
return $mediaManager->generateObjectResponse($name, $containerName, $request);
}
}