src/MentalSchool/AppBundle/Controller/DefaultController.php line 23

Open in your IDE?
  1. <?php
  2. namespace MentalSchool\AppBundle\Controller;
  3. use MentalSchool\AppBundle\Entity\User;
  4. use MentalSchool\AppBundle\Utils\Parameters;
  5. use Symfony\Bundle\FrameworkBundle\Controller\Controller;
  6. use Symfony\Component\HttpFoundation\JsonResponse;
  7. use Symfony\Component\HttpFoundation\Request;
  8. use Symfony\Component\Routing\Annotation\Route;
  9. /**
  10.  * Description of DefaultController
  11.  *
  12.  * @author Yaroslav Fedyna <slfedyna@gmail.com>
  13.  *
  14.  */
  15. class DefaultController extends Controller
  16. {
  17.     /**
  18.      * @Route("/", name="ms_app_home")
  19.      */
  20.     public function indexAction()
  21.     {
  22.         if($this->getUser()->getType() == User::USER_TYPE_STUDENT){
  23.             return $this->redirectToRoute("ms_student_tasks");
  24.         }
  25.         return $this->redirect("admin/dashboard");
  26.     }
  27.     /**
  28.      * @Route("/dashboard", name="ms_app_dashboard")
  29.      */
  30.     public function dashboardAction(Request $request)
  31.     {
  32.         if($this->getUser()->getType() == User::USER_TYPE_STUDENT){
  33.             return $this->redirectToRoute("ms_student_tasks");
  34.         }
  35.         return $this->redirect("admin/dashboard");
  36.     }
  37.     /**
  38.      * @Route("/get-game-rules", name="ms_get_game_rules")
  39.      */
  40.     public function getGameRulesAction(Request $request)
  41.     {
  42.         $theme $request->get('theme');
  43.         $level $request->get('level');
  44.         $em $this->getDoctrine()->getManager();
  45.         if($rules $em->getRepository('AppBundle:GameDescription')->findOneBy(['theme' => $theme'level' => $level])){
  46.             return new JsonResponse(
  47.                 ["message" => $rules->getDescription()],
  48.                 JsonResponse::HTTP_OK);
  49.         };
  50.         return new JsonResponse(["message" => "На даний момент, для даної ігри немає опису правил"], JsonResponse::HTTP_BAD_REQUEST);
  51.     }
  52.     /**
  53.      * @Route("/get-range-numbers/{mode}", name="ms_get_range_numbers")
  54.      */
  55.     public function getRangeNumbersAction(Request $request$mode)
  56.     {
  57.         $isEditForm $request->get("isEditForm");
  58.         $theme $request->get("theme");
  59.         $level $request->get("level");
  60.         $formName $request->get("formName");
  61.         $parameters Parameters::getParametersByThemeAndLevel($theme$level);
  62.         if($mode == 'admin'){
  63.             $template 'AppBundle:Admin:Task/templates/_range_numbers.html.twig';
  64.         }else{
  65.             if($theme == 'multiplication') {
  66.                 $template 'AppBundle:Student:Task/templates/_range_numbers_multiplication.html.twig';
  67.             }else{
  68.                 $template 'AppBundle:Student:Task/templates/_range_numbers.html.twig';
  69.             }
  70.         }
  71.         return $this->render($template, [
  72.             'isEditForm' =>  $isEditForm,
  73.             'formName' => $formName,
  74.             'level' => $level,
  75.             'theme' => $theme,
  76.             'data' => [
  77.                 'rangeOfFirstNumber' => $parameters['rangeOfFirstNumber']['default'],
  78.                 'rangeOfSecondNumber' => $parameters['rangeOfSecondNumber']['default']
  79.             ],
  80.             'parameters' => $parameters
  81.         ], null);
  82.     }
  83. }