<?php
namespace App\Controller;
use App\Entity\User;
use App\Service\RBProfileService;
use App\Service\RBQuizService;
use App\Service\SmsService;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Security;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
/**
* Class DefaultController
* @package App\Controller
*/
class DefaultController extends AbstractController
{
/**
* @return \Symfony\Component\HttpFoundation\RedirectResponse
* @Route("/")
*/
public function index(Request $request) {
return $this->redirectToRoute("app_index", ["_locale" => $request->getLocale()]);
}
/**
* @param Request $request
* @param RBQuizService $RBQuizService
* @return Response
* @Route("/{_locale}", name="home_secure")
*/
public function indexSecureAction(Request $request, RBQuizService $RBQuizService) {
/** @var User $user */
$user = $this->getUser();
if(is_null($user)) {
return $this->redirectToRoute("app_index");
}
if($user->hasRole("ROLE_ADMIN") || $user->hasRole("ROLE_INTERVENING") || $user->hasRole("ROLE_SCHOOL_ADMIN")) {
return $this->redirectToRoute("admin_user_list");
}elseif($user && $user->hasRole("ROLE_RECRUTEUR")){
return $this->redirectToRoute("app_recruteur_jobindex");
} elseif($user && !$user->hasRole("ROLE_ADMIN")) {
if($user->isFirstConnexion()) {
return $this->redirectToRoute("setup_user_reset_password");
}
if($RBuserStep = $RBQuizService->getUserRBStep($user)) {
if($RBuserStep->isCompleted()) {
if(is_null($user->getCv())) {
return $this->redirectToRoute("setup_user_cv");
}
return $this->redirectToRoute("riasec_big_five_result_profile");
}
}
return $this->redirectToRoute("setup_user_cv", ["_locale" => $request->getLocale()]);
}
$this->redirectToRoute("app_index");
}
/**
* @param Request $request
* @param $locale
* @return \Symfony\Component\HttpFoundation\RedirectResponse
* @Route("/toggle-country/{locale}/", name="toggle_country")
*/
public function toggleLanguage(Request $request, $locale) {
$request->setDefaultLocale($locale);
$referer = $request->headers->get("referer");
$referer = preg_replace("/(\\/[a-z]{2}\\/)/", "/$locale/", $referer);
return $this->redirect($referer);
}
/**
* @param SmsService $service
* @return Response
* @Route("/send/sms/")
*/
public function testSms(SmsService $service) {
//$service->sendSms("+261324610622", "Bonjour test message de dreamin platform");
return new Response("send");
}
}