<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use App\Entity\Supplier;
use App\Form\SupplierType;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\JsonResponse;
use App\Service\ImageOptimizer;
class HomeController extends AbstractController
{
/**
* @Route("/", name="home")
*/
public function index(): Response
{
// usually you'll want to make sure the user is authenticated first
$this->denyAccessUnlessGranted('IS_AUTHENTICATED_REMEMBERED');
// returns your User object, or null if the user is not authenticated
// use inline documentation to tell your editor your exact User class
/** @var \App\Entity\User $user */
$user = $this->getUser();
// Call whatever methods you've added to your User class
// For example, if you added a getFirstName() method, you can use that.
//return new Response('Well hi there '.$user->getFirstName());
//dump($user->getRoles());die;
// ROLE_ADMIN should be redirected to admin
if ($this->isGranted('ROLE_ADMIN') || $this->isGranted('ROLE_SUPER_ADMIN')) {
return $this->redirectToRoute('admin');
} else
return $this->redirectToRoute('message_index');
return $this->render('home/index.html.twig', [
'controller_name' => 'HomeController',
]);
}
/**
* @Route("/media/rotate", name="images_rotate")
*/
public function imagesRotate(Request $request, ImageOptimizer $imageOptimizer): Response
{
$this->denyAccessUnlessGranted('IS_AUTHENTICATED_REMEMBERED');
$output = array("message" => "ko");
if($request->request->get('file')) {
$file = $request->request->get('file');
$orientation = $request->request->get('orientation') ? $request->request->get('orientation') : "cw";
$imageOptimizer->rotate($file, $orientation);
$output['message'] = "ok";
}
$reponse = new JsonResponse();
$reponse->headers->set('Content-Type', 'application/json');
$reponse->setData($output);
return $reponse;
}
/**
* @Route("/pdf/viewer", name="pdf_viewer")
*/
public function pdfViewer(Request $request): Response
{
$this->denyAccessUnlessGranted('IS_AUTHENTICATED_REMEMBERED');
$file = $request->query->get('file');
return $this->render('home/pdf_viewer.html.twig', [
'file' => $file,
]);
}
}