<?php
namespace MentalSchool\AppBundle\Controller;
use MentalSchool\AppBundle\Entity\User;
use MentalSchool\AppBundle\Utils\Parameters;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Routing\Annotation\Route;
/**
* Description of DefaultController
*
* @author Yaroslav Fedyna <slfedyna@gmail.com>
*
*/
class DefaultController extends Controller
{
/**
* @Route("/", name="ms_app_home")
*/
public function indexAction()
{
if($this->getUser()->getType() == User::USER_TYPE_STUDENT){
return $this->redirectToRoute("ms_student_tasks");
}
return $this->redirect("admin/dashboard");
}
/**
* @Route("/dashboard", name="ms_app_dashboard")
*/
public function dashboardAction(Request $request)
{
if($this->getUser()->getType() == User::USER_TYPE_STUDENT){
return $this->redirectToRoute("ms_student_tasks");
}
return $this->redirect("admin/dashboard");
}
/**
* @Route("/get-game-rules", name="ms_get_game_rules")
*/
public function getGameRulesAction(Request $request)
{
$theme = $request->get('theme');
$level = $request->get('level');
$em = $this->getDoctrine()->getManager();
if($rules = $em->getRepository('AppBundle:GameDescription')->findOneBy(['theme' => $theme, 'level' => $level])){
return new JsonResponse(
["message" => $rules->getDescription()],
JsonResponse::HTTP_OK);
};
return new JsonResponse(["message" => "На даний момент, для даної ігри немає опису правил"], JsonResponse::HTTP_BAD_REQUEST);
}
/**
* @Route("/get-range-numbers/{mode}", name="ms_get_range_numbers")
*/
public function getRangeNumbersAction(Request $request, $mode)
{
$isEditForm = $request->get("isEditForm");
$theme = $request->get("theme");
$level = $request->get("level");
$formName = $request->get("formName");
$parameters = Parameters::getParametersByThemeAndLevel($theme, $level);
if($mode == 'admin'){
$template = 'AppBundle:Admin:Task/templates/_range_numbers.html.twig';
}else{
if($theme == 'multiplication') {
$template = 'AppBundle:Student:Task/templates/_range_numbers_multiplication.html.twig';
}else{
$template = 'AppBundle:Student:Task/templates/_range_numbers.html.twig';
}
}
return $this->render($template, [
'isEditForm' => $isEditForm,
'formName' => $formName,
'level' => $level,
'theme' => $theme,
'data' => [
'rangeOfFirstNumber' => $parameters['rangeOfFirstNumber']['default'],
'rangeOfSecondNumber' => $parameters['rangeOfSecondNumber']['default']
],
'parameters' => $parameters
], null);
}
}