<?php
namespace App\Controller;
use App\Service\GoogleSheet\GoogleSheetGroups;
use App\Service\LangLionService;
use Doctrine\Persistence\ManagerRegistry;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\HttpFoundation\Request;
class IndexController extends AbstractController
{
public function __construct(LangLionService $langLionService)
{
$this->langLionService = $langLionService;
}
/**
* @Route("/", name="app_index")
*/
public function index(GoogleSheetGroups $googleSheetGroups): Response
{
$accessToken = $this->langLionService->authorize();
if (!$accessToken) {
return new Response('Authorization failed', Response::HTTP_UNAUTHORIZED);
}
//$groups = $googleSheetGroups->getGroups();
$groups = $this->langLionService->getGroups($accessToken);
return $this->render('index/index.html.twig', [
'groups' => $groups
])->setSharedMaxAge(3600);;
}
/**
* @Route("/warsztaty", name="workshop")
*/
public function workshop(ManagerRegistry $doctrine): Response
{
return $this->render('index/workshop.html.twig');
}
/**
* @Route("/labolatorium", name="labolatory")
*/
public function workshopSignUp(ManagerRegistry $doctrine): Response
{
return $this->render('index/workshop-registration.html.twig');
}
/**
* @Route("/szkolenia", name="training")
*/
public function training(ManagerRegistry $doctrine): Response
{
return $this->render('index/training.html.twig');
}
/**
* @Route("/darmowe-zajecia-online", name="free_lesson_online")
*/
public function freeLesson(ManagerRegistry $doctrine): Response
{
return $this->render('index/free_lesson.html.twig');
}
/**
* @Route("/cyber-cat", name="cyber-cat")
*/
public function cyberCat(): Response
{
return $this->render('index/cybercat.html.twig');
}
/**
* @Route("/robotyka/podziekowanie", name="thanks")
*/
public function thanksRobotics(): Response
{
return $this->render('index/thanks-robotics.html.twig');
}
/**
* @Route("/programowanie/podziekowanie", name="thanks2")
*/
public function thanksProgramming(): Response
{
return $this->render('index/thanks-programming.html.twig');
}
/**
* @Route("/wakacje", name="vacation")
*/
public function vacation(ManagerRegistry $doctrine): Response
{
return $this->render('index/vacation.html.twig');
}
/**
* @Route("/get_groups", name="get_groups")
*/
public function getGroups(GoogleSheetGroups $googleSheetGroups, Request $request): Response
{
$city = $request->query->get('city');
$course = $request->query->get('course');
$groups = $googleSheetGroups->getGroups($city, $course);
return $this->render('lang_lion/groups.html.twig', [
'groups' => $groups,
]);
}
}