<?php
namespace App\Controller\Front\students;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Contracts\HttpClient\HttpClientInterface;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use App\Repository\PageRepository;
use App\Repository\SectionRepository;
use App\Repository\CreditsAcknowledgmentRequestRepository;
use App\Entity\CreditsAcknowledgmentRequest;
use App\Form\CreditsAcknowledgmentRequestType;
use App\Repository\MediaObjectCreditsAcknowledgmentRequestRepository;
use App\Entity\MediaObjectCreditsAcknowledgmentRequest;
class SecretaryController extends AbstractController
{
/**
* @Route("/alumnos/secretaria-academica/horarios-de-secretaria-y-contacto")
*/
public function secretarySchedule(Request $request,PageRepository $pageRepository, SectionRepository $sectionRepository)
{
$page = $pageRepository->findOneBy(["slug"=>"alumnos/secretaria-academica/horarios-de-secretaria-y-contacto"],[]);
$content = $sectionRepository->findBy(["page"=>$page->getId()], ["customOrder"=>"ASC"]);
return $this->render('front/students/secretary/secretarySchedule.html.twig', ["content" => $content]);
}
/**
* @Route("/alumnos/secretaria-academica/solicitud-de-reconocimiento-de-creditos")
*/
public function creditsAcknowledgemenstRequest(Request $request, CreditsAcknowledgmentRequestRepository $creditsAcknowledgmentRequestRepository, MediaObjectCreditsAcknowledgmentRequestRepository $mediaObjectCreditsAcknowledgmentRequestRepository)
{
$creditsAcknowledgmentRequest = new CreditsAcknowledgmentRequest();
$form = $this->createForm(CreditsAcknowledgmentRequestType::class, $creditsAcknowledgmentRequest);
$form->handleRequest($request);
$actualDay=date('Y-m-d H:i:s');
// $actualDay='2023-09-02 00:00:00';
$outOfDate=false;
if($actualDay<date("Y").'-09-02 00:00:00'&&$actualDay>(date("Y")).'-01-16 23:59:59'||$actualDay<date("Y").'-12-19 00:00:00'&&$actualDay>date("Y").'-09-30 23:59:59'){
$outOfDate=true;
}
if ($form->isSubmitted() && $form->isValid()) {
$creditsAcknowledgmentRequestRepository->add($creditsAcknowledgmentRequest, true);
$formFileKeys = ["academicGuidesFile","universityOriginFile","creditsSignedFile"];
foreach($formFileKeys as $fileKey){
if( $form[$fileKey]->getData()){
/** @var File $uploadedFile */
$uploadedFile = $form[$fileKey]->getData();
$mediaObjectCreditsAcknowledgmentRequest = new MediaObjectCreditsAcknowledgmentRequest();
$mediaObjectCreditsAcknowledgmentRequest->setCreationDate(new \DateTime);
$mediaObjectCreditsAcknowledgmentRequest->setFileKey($fileKey);
$mediaObjectCreditsAcknowledgmentRequest->file = $uploadedFile;
$mediaObjectCreditsAcknowledgmentRequest->setCreditsAcknowledgmentRequest($creditsAcknowledgmentRequest);
$mediaObjectCreditsAcknowledgmentRequestRepository->add($mediaObjectCreditsAcknowledgmentRequest, true);
}
}
$this->addFlash('success', 'Solicitud enviada');
$creditsAcknowledgmentRequest = new CreditsAcknowledgmentRequest();
$form = $this->createForm(CreditsAcknowledgmentRequestType::class, $creditsAcknowledgmentRequest);
return $this->redirect('/alumnos/secretaria-academica/solicitud-de-reconocimiento-de-creditos');
}
return $this->renderForm('front/students/secretary/creditsAcknowledgmentRequest.html.twig', [
'form' => $form,
'outOfDate' => $outOfDate
]);
}
/**
* @Route("/alumnos/secretaria-academica/secretaria-virtual-unizar")
*/
public function virtualSecretary(Request $request,PageRepository $pageRepository, SectionRepository $sectionRepository)
{
$page = $pageRepository->findOneBy(["slug"=>"alumnos/secretaria-academica/secretaria-virtual-unizar"],[]);
$content = $sectionRepository->findBy(["page"=>$page->getId()], ["customOrder"=>"ASC"]);
return $this->render('front/students/secretary/virtualSecretary.html.twig', ["content" => $content]);
}
/**
* @Route("/alumnos/secretaria-academica/titulo-oficial")
*/
public function officialDegree(Request $request,PageRepository $pageRepository, SectionRepository $sectionRepository)
{
$page = $pageRepository->findOneBy(["slug"=>"alumnos/secretaria-academica/titulo-oficial"],[]);
$content = $sectionRepository->findBy(["page"=>$page->getId()], ["customOrder"=>"ASC"]);
return $this->render('front/students/secretary/officialDegree.html.twig', ["content" => $content]);
}
/**
* @Route("/alumnos/secretaria-academica/dudas-frecuentes")
*/
public function faq(Request $request,PageRepository $pageRepository, SectionRepository $sectionRepository)
{
$page = $pageRepository->findOneBy(["slug"=>"alumnos/secretaria-academica/dudas-frecuentes"],[]);
$content = $sectionRepository->findBy(["page"=>$page->getId()], ["customOrder"=>"ASC"]);
return $this->render('front/students/secretary/faq.html.twig', ["content" => $content]);
}
/**
* @Route("/alumnos/secretaria-academica/precios-publicos")
*/
public function publicPrices(Request $request,PageRepository $pageRepository, SectionRepository $sectionRepository)
{
$page = $pageRepository->findOneBy(["slug"=>"alumnos/secretaria-academica/precios-publicos"],[]);
$content = $sectionRepository->findBy(["page"=>$page->getId()], ["customOrder"=>"ASC"]);
return $this->render('front/students/secretary/publicPrices.html.twig', ["content" => $content]);
}
/**
* @Route("/alumnos/secretaria-academica/certificados-y-expedientes")
*/
public function certificatesAndProcedings(Request $request,PageRepository $pageRepository, SectionRepository $sectionRepository)
{
$page = $pageRepository->findOneBy(["slug"=>"alumnos/secretaria-academica/certificados-y-expedientes"],[]);
$content = $sectionRepository->findBy(["page"=>$page->getId()], ["customOrder"=>"ASC"]);
return $this->render('front/students/secretary/certificatesAndProcedings.html.twig', ["content" => $content]);
}
/**
* @Route("/alumnos/secretaria-academica/reclamaciones-pruebas-evaluacion")
*/
public function testEvaluationClaim(Request $request,PageRepository $pageRepository, SectionRepository $sectionRepository)
{
$page = $pageRepository->findOneBy(["slug"=>"alumnos/secretaria-academica/reclamaciones-pruebas-evaluacion"],[]);
$content = $sectionRepository->findBy(["page"=>$page->getId()], ["customOrder"=>"ASC"]);
return $this->render('front/students/secretary/testEvaluationClaim.html.twig', ["content" => $content]);
}
/**
* @Route("/alumnos/secretaria-academica/matricula")
*/
public function enrollment(Request $request,PageRepository $pageRepository, SectionRepository $sectionRepository)
{
$page = $pageRepository->findOneBy(["slug"=>"alumnos/secretaria-academica/matricula"],[]);
$content = $sectionRepository->findBy(["page"=>$page->getId()], ["customOrder"=>"ASC"]);
return $this->render('front/students/secretary/enrollment.html.twig', ["content" => $content]);
}
}