src/Controller/DefaultController.php line 26

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\User;
  4. use App\Service\RBProfileService;
  5. use App\Service\RBQuizService;
  6. use Sensio\Bundle\FrameworkExtraBundle\Configuration\Security;
  7. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  8. use Symfony\Component\HttpFoundation\Request;
  9. use Symfony\Component\HttpFoundation\Response;
  10. use Symfony\Component\Routing\Annotation\Route;
  11. /**
  12.  * Class DefaultController
  13.  * @package App\Controller
  14.  */
  15. class DefaultController extends AbstractController
  16. {
  17.     /**
  18.      * @return \Symfony\Component\HttpFoundation\RedirectResponse
  19.      * @Route("/")
  20.      */
  21.     public function index(Request $request) {
  22.         return $this->redirectToRoute("app_index", ["_locale" => $request->getLocale()]);
  23.     }
  24.     
  25.     /**
  26.      * @param Request $request
  27.      * @param RBQuizService $RBQuizService
  28.      * @return Response
  29.      * @Route("/{_locale}", name="home_secure")
  30.      */
  31.     public function indexSecureAction(Request $requestRBQuizService $RBQuizService) {
  32.         
  33.         /** @var User $user */
  34.         $user $this->getUser();
  35.         
  36.         if(is_null($user)) {
  37.             return $this->redirectToRoute("app_index");
  38.         }
  39.         
  40.         if($user->hasRole("ROLE_ADMIN") || $user->hasRole("ROLE_INTERVENING") || $user->hasRole("ROLE_SCHOOL_ADMIN")) {
  41.             return $this->redirectToRoute("admin_user_list");
  42.         }elseif($user && $user->hasRole("ROLE_RECRUTEUR")){
  43.             return $this->redirectToRoute("app_recruteur_jobindex");
  44.         } elseif($user && !$user->hasRole("ROLE_ADMIN")) { 
  45.             if($user->isFirstConnexion()) {
  46.                 return $this->redirectToRoute("setup_user_reset_password");
  47.             }
  48.             
  49.             if($RBuserStep $RBQuizService->getUserRBStep($user)) {
  50.                 if($RBuserStep->isCompleted()) {
  51.                     if(is_null($user->getCv())) {
  52.                         return $this->redirectToRoute("setup_user_cv");
  53.                     }
  54.                     return $this->redirectToRoute("riasec_big_five_result_profile");
  55.                 }
  56.             }
  57.             
  58.             return $this->redirectToRoute("setup_user_cv", ["_locale" => $request->getLocale()]);
  59.         }
  60.         
  61.         $this->redirectToRoute("app_index");
  62.     }
  63.     
  64.     /**
  65.      * @param Request $request
  66.      * @param $locale
  67.      * @return \Symfony\Component\HttpFoundation\RedirectResponse
  68.      * @Route("/toggle-country/{locale}/", name="toggle_country")
  69.      */
  70.     public function toggleLanguage(Request $request$locale) {
  71.         $request->setDefaultLocale($locale);
  72.         $referer $request->headers->get("referer");
  73.         $referer preg_replace("/(\\/[a-z]{2}\\/)/""/$locale/"$referer);
  74.         return $this->redirect($referer);
  75.     }
  76. }