src/Controller/HomeController.php line 32

  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\Objectif;
  4. use App\Entity\User;
  5. use App\Entity\UserCommentObjectif;
  6. use App\Entity\UserIndicateur;
  7. use App\Entity\UserObjectif;
  8. use App\Entity\UserSport;
  9. use App\Form\CommentObjectifForm;
  10. use App\Form\ObjectifForm;
  11. use App\Form\QuestionnaireObjectifEditForm;
  12. use App\Form\QuestionnaireObjectifForm;
  13. use App\Form\ConsommationEnergetiqueForm;
  14. use App\Form\RegistrationFormType;
  15. use App\Form\SportForm;
  16. use Doctrine\ORM\EntityManagerInterface;
  17. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  18. use Symfony\Bundle\SecurityBundle\Security;
  19. use Symfony\Component\HttpFoundation\RedirectResponse;
  20. use Symfony\Component\HttpFoundation\Request;
  21. use Symfony\Component\HttpFoundation\Response;
  22. use Symfony\Component\Routing\Annotation\Route;
  23. use Symfony\Component\Security\Http\Attribute\IsGranted;
  24. class HomeController extends AbstractController
  25. {
  26.     #[Route('/'name'app_home')]
  27.     #[IsGranted('ROLE_USER')]
  28.     public function index(Security $securityEntityManagerInterface $entityManager): Response
  29.     {
  30.         // get current user
  31.         $currentUser $security->getUser();
  32.         $answerQs $currentUser->getQs();
  33.         // Get the user's questionnaire objectifs
  34.         $userObjectif $entityManager->getRepository(UserObjectif::class)->findOneBy(['user' => $currentUser->getId()]);
  35.         $userIndicateur $entityManager->getRepository(UserIndicateur::class)->findOneBy(['user' => $currentUser->getId()]);
  36.         if(!is_null($userObjectif) && !is_null($userIndicateur)){
  37.             return $this->redirectToRoute('_dashboard');
  38.         }
  39.         return $this->render('admin/index.html.twig', [
  40.             'error' => true,
  41.             'answerQs' => $answerQs,
  42.             'currentUserObjectif' => $userObjectif,
  43.             'currentUserIndicateur' => $userIndicateur,
  44.             'user'=>$currentUser
  45.         ]);
  46.     }
  47.     #[IsGranted('ROLE_USER')]
  48.     #[Route('/rdv'name'app_rdv')]
  49.     public function calendar(): Response
  50.     {
  51.         return $this->render('admin/calendar.html.twig');
  52.     }
  53.     #[Route('/activate/{id}'name'app_account_activate')]
  54.     public function activateAccountEntityManagerInterface $entityManagerint $idSecurity $security): RedirectResponse
  55.     {
  56.         //$response = $security->logout(false);
  57.         $user $entityManager->getRepository(User::class)->find($id);
  58.         $user->setActive("1");
  59.         $user->setRoles(['ROLE_USER']);
  60.         $entityManager->flush();
  61.         return $this->redirectToRoute('app_login', ['active' => true]);
  62.     }
  63.     #[IsGranted('ROLE_USER')]
  64.     public function base(Security $securityEntityManagerInterface $entityManager): Response
  65.     {
  66.         // get current user
  67.         $currentUser $security->getUser();
  68.         $answerQs $currentUser->getQs();
  69.         // Get the current user
  70.         $currentUser $security->getUser();
  71.         // Get the user's questionnaire objectifs
  72.         $userObjectif $entityManager->getRepository(UserObjectif::class)->findOneBy(['user' => $currentUser->getId()]);
  73.         return $this->render('base.html.twig', [
  74.             'error' => true,
  75.             'answerQs' => $answerQs,
  76.             'currentUserObjectif' => $userObjectif,
  77.         ]);
  78.     }
  79. }