<?php
namespace App\Controller;
use App\Entity\Client;
use App\Entity\RestaurantCategory;
use App\Entity\RestaurantSubCategory;
use App\Form\ClientActivationType;
use App\Form\RestaurantSubCategoryType;
use App\Repository\ClientRepository;
use App\Repository\LegalRepository;
use App\Repository\RestaurantCategoryRepository;
use App\Repository\RestaurantDishRepository;
use App\Repository\RestaurantMenuRepository;
use App\Repository\RestaurantSubCategoryRepository;
use App\Service\SecureObjectFinder;
use Doctrine\ORM\EntityManagerInterface;
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;
use BabyMarkt\DeepL\DeepL;
class HomeController extends AbstractController
{
/**
* @Route("/", name="home")
*/
public function index()
{
if ($this->getUser()->getClient()->getActivated() == false){
return $this->redirectToRoute("activation");
}
return $this->render('home/index.html.twig', [
]);
}
/**
* Page d'activation du compte client à la première connexion (acceptation des CGU)
*
* @Route("/activation", name="activation")
* @param Request $request
* @param EntityManagerInterface $manager
* @return RedirectResponse|Response
*/
public function activation(Request $request, EntityManagerInterface $manager, LegalRepository $repo)
{
$client = $this->getUser()->getClient();
$legal = $repo->findOneById('1');
$form = $this->createForm(ClientActivationType::class, $client);
$form->handleRequest($request);
if($form->isSubmitted() && $form->isValid()){
$manager->persist($client);
$manager->flush();
return $this->redirectToRoute('home');
}
return $this->render('home/activation.html.twig', [
'form' => $form->createView(),
'legal' => $legal
]);
}
}