src/Controller/DefaultController.php line 37

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 App\Service\SmsService;
  7. use Sensio\Bundle\FrameworkExtraBundle\Configuration\Security;
  8. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  9. use Symfony\Component\HttpFoundation\Request;
  10. use Symfony\Component\HttpFoundation\Response;
  11. use Symfony\Component\Routing\Annotation\Route;
  12. /**
  13.  * Class DefaultController
  14.  * @package App\Controller
  15.  */
  16. class DefaultController extends AbstractController
  17. {
  18.     /**
  19.      * @return \Symfony\Component\HttpFoundation\RedirectResponse
  20.      * @Route("/")
  21.      */
  22.     public function index(Request $request) {
  23.         return $this->redirectToRoute("app_index", ["_locale" => $request->getLocale()]);
  24.     }
  25.     
  26.     /**
  27.      * @param Request $request
  28.      * @param RBQuizService $RBQuizService
  29.      * @return Response
  30.      * @Route("/{_locale}", name="home_secure")
  31.      */
  32.     public function indexSecureAction(Request $requestRBQuizService $RBQuizService) {
  33.         
  34.         /** @var User $user */
  35.         $user $this->getUser();
  36.         
  37.         if(is_null($user)) {
  38.             return $this->redirectToRoute("app_index");
  39.         }
  40.         
  41.         if($user->hasRole("ROLE_ADMIN") || $user->hasRole("ROLE_INTERVENING") || $user->hasRole("ROLE_SCHOOL_ADMIN")) {
  42.             return $this->redirectToRoute("admin_user_list");
  43.         }elseif($user && $user->hasRole("ROLE_RECRUTEUR")){
  44.             return $this->redirectToRoute("app_recruteur_jobindex");
  45.         } elseif($user && !$user->hasRole("ROLE_ADMIN")) { 
  46.             if($user->isFirstConnexion()) {
  47.                 return $this->redirectToRoute("setup_user_reset_password");
  48.             }
  49.             
  50.             if($RBuserStep $RBQuizService->getUserRBStep($user)) {
  51.                 if($RBuserStep->isCompleted()) {
  52.                     if(is_null($user->getCv())) {
  53.                         return $this->redirectToRoute("setup_user_cv");
  54.                     }
  55.                     return $this->redirectToRoute("riasec_big_five_result_profile");
  56.                 }
  57.             }
  58.             
  59.             return $this->redirectToRoute("setup_user_cv", ["_locale" => $request->getLocale()]);
  60.         }
  61.         
  62.         $this->redirectToRoute("app_index");
  63.     }
  64.     
  65.     /**
  66.      * @param Request $request
  67.      * @param $locale
  68.      * @return \Symfony\Component\HttpFoundation\RedirectResponse
  69.      * @Route("/toggle-country/{locale}/", name="toggle_country")
  70.      */
  71.     public function toggleLanguage(Request $request$locale) {
  72.         $request->setDefaultLocale($locale);
  73.         $referer $request->headers->get("referer");
  74.         $referer preg_replace("/(\\/[a-z]{2}\\/)/""/$locale/"$referer);
  75.         return $this->redirect($referer);
  76.     }
  77.     
  78.     /**
  79.      * @param SmsService $service
  80.      * @return Response
  81.      *  @Route("/send/sms/")
  82.      */
  83.     public function testSms(SmsService $service) {
  84.         //$service->sendSms("+261324610622", "Bonjour test message de dreamin platform");
  85.         return new Response("send");
  86.     }
  87. }