<?php
namespace App\Controller\userController;
use App\Controller\basisController\AllgemeineFunktionenController;
use App\Controller\basisController\UserBasisController;
use App\Repository\BranchenKategorienRepository;
use App\Repository\BranchenRepository;
use App\Repository\BuchungenRepository;
use App\Repository\FirmenprofilRepository;
use App\Repository\KonfiguratorThemenRepository;
use App\Repository\SchulungsArtRepository;
use App\Repository\SchulungsfilterRepository;
use App\Repository\ZielgruppeRepository;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
class UserNavigationController extends UserBasisController
{
#[Route('/user/navbar/seminare', name: 'user_start_navbar_seminare')]
public function navbar_seminare(SchulungsfilterRepository $schulungsfilterRepository,
KonfiguratorThemenRepository $konfiguratorThemenRepository,
SchulungsArtRepository $schulungsArtRepository,
BranchenRepository $branchenRepository,
BranchenKategorienRepository $kategorienRepository,
FirmenprofilRepository $firmenprofilRepository,
ZielgruppeRepository $zielgruppeRepository): Response
{
$arr_schulungsart = [];
$arr_branche = [];
$arr_kategorie = [];
$arr_thema = [];
$arr_zielgruppe = [];
$arr_anbieter = [];
$filters = $schulungsfilterRepository->findAll();
foreach ($filters as $filter) {
$arr_schulungsart[] = $filter->getSchulungsart();
$arr_branche[] = $filter->getBranche();
$arr_kategorie[] = $filter->getKategorie();
$arr_thema[] = $filter->getThema();
$arr_zielgruppe[] = $filter->getZielgruppe();
$arr_anbieter[] = $filter->getAnbieter();
}
$arr_schulungsart = array_unique($arr_schulungsart);
$arr_branche = array_unique($arr_branche);
$arr_kategorie = array_unique($arr_kategorie);
$arr_thema = array_unique($arr_thema);
$arr_zielgruppe = array_unique($arr_zielgruppe);
$arr_anbieter = array_unique($arr_anbieter);
return $this->render('nav/user_navigation_links_seminare.html.twig', [
'schulungsarten' => $schulungsArtRepository->findBy(['id' => $arr_schulungsart]),
'branchen' => $branchenRepository->findBy(['id' => $arr_branche]),
'kategorien' => $kategorienRepository->findBy(['id' => $arr_kategorie]),
'themen' => $konfiguratorThemenRepository->findBy(['id' => $arr_thema]),
'zielgruppen' => $zielgruppeRepository->findBy(['id' => $arr_zielgruppe]),
'firmen' => $firmenprofilRepository->findBy(['id' => $arr_anbieter]),
]);
}
#[Route('/user/navbar/warenkorb', name: 'user_start_navbar_warenkorb')]
public function user_start_navbar_warenkorb(BuchungenRepository $buchungenRepository): Response
{
$userId = $this->getUser()?->getId();
$buchungen = $buchungenRepository->findBy(['user' => $userId, 'bezahlstatus' => 0]);
return $this->render('nav/user_navigation_warenkorb.html.twig', [
'buchungen' => $buchungen,
]);
}
#[Route('/user/navbar/intranet_verbindungen', name: 'user_start_navbar_intranet_verbindungen')]
public function user_start_navbar_intranet_verbindungen(AllgemeineFunktionenController $allgemeineFunktionenController): Response
{
$jsonData['campusId'] = $this->getUser()->getId();
$ergebnis = false;
$accounts = [];
$intranetResponse = $allgemeineFunktionenController->jsonDatenSendenAnIntranet('intranet_user_verbindungen/auslesen', $jsonData);
if ($intranetResponse['ergebnis']) {
$ergebnis = true;
$accounts = $intranetResponse['accounts'];
}
return $this->render('nav/user_navigation_rechts_celseo_intranet_verbindungen.html.twig', [
'ergebnis' => $ergebnis,
'accounts' => $accounts,
]);
}
}