src/Controller/DefaultController.php line 19

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  4. use Symfony\Component\HttpFoundation\Response;
  5. use Symfony\Component\Routing\Annotation\Route;
  6. use Symfony\Component\HttpFoundation\Request;
  7. use Symfony\Component\HttpFoundation\JsonResponse;
  8. use App\Entity\Levels;
  9. use App\Entity\Teachers;
  10. use App\Entity\Students;
  11. class DefaultController extends AbstractController {
  12.     /**
  13.      * @Route("/default", name="app_default")
  14.      */
  15.     public function index(): Response {
  16.         if ($this->getUser()) {
  17.             return $this->redirectToRoute('app_home');
  18.         }
  19.         return $this->redirectToRoute('app_login');
  20.     }
  21.     public function appHome(Request $request) {
  22.         $em $this->getDoctrine()->getManager();
  23.         $person = [
  24.             'name' => '',
  25.             'studentid' => '',
  26.         ];
  27.         /*
  28.          * Obtener los estudiantes para el usuario logeado
  29.          * cada estudiante corresponde a un curso
  30.          * entonces se mostrará un botón de módulos para cada estudiante según el curso
  31.          */
  32.         $students = [];
  33.         if (in_array('ROLE_STUDENT'$this->getUser()->getRoles())) {
  34.             $students $em->getRepository(Students::class)->findBy(['user' => $this->getUser()->getId()]);
  35.             $oneStudent $students[0];
  36.             $person['name'] = $oneStudent->getNames() . " " $oneStudent->getLastname();
  37.             $person['studentid'] = $oneStudent->getId();
  38.         } elseif (in_array('ROLE_ADMIN'$this->getUser()->getRoles()) || in_array('ROLE_ADMIN_AUX'$this->getUser()->getRoles())) {
  39.             $person['name'] = empty($this->getUser()->getFullname()) ? $this->getUser()->getUsername() : $this->getUser()->getFullname();
  40.         } elseif (in_array('ROLE_TEACHER'$this->getUser()->getRoles())) {
  41.             $teacher $em->getRepository(Teachers::class)->findOneBy(['user' => $this->getUser()->getId()]);
  42.             $person['name'] = $teacher->getName() . " " $teacher->getLastname();
  43.         }
  44.         return $this->render('default/dashboard.html.twig', [
  45.             'person' => $person,
  46.             'user' => $this->getUser(),
  47.             'students' => $students
  48.         ]);
  49.     }
  50.     public function getLevels(Request $request) {
  51.         $courseId $request->get('courseid');
  52.         $em $this->getDoctrine()->getManager();
  53.         $courses $em->getRepository(Levels::class)->findBy(['course' => $courseId], ['name' => 'asc']);
  54.         $response = [];
  55.         foreach ($courses as $course) {
  56.             $response[] = [
  57.                 'id' => $course->getId(),
  58.                 'name' => $course->getName(),
  59.             ];
  60.         }
  61.         return new JsonResponse($response);
  62.     }
  63. }