<?php
namespace App\Controller\Base;
use App\Entity\Activity\Auftrag;
use App\Entity\Base\Mitarbeiter;
use Doctrine\ORM\EntityManagerInterface;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Security;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
class DefaultController extends AbstractController
{
#[Route(path: '/', name: '_wob')]
#[Security("is_granted('ROLE_USER')")]
public function index(EntityManagerInterface $em): Response
{
// Auftrag Monitoring
$monitoredAuftraegeAbrechung = null;
$monitorAuftraege = $em->getRepository(Auftrag::class)->monitorAuftraege($this->getUser());
foreach ($monitorAuftraege as $auftrag) {
$auftrag = $em->getRepository(Auftrag::class)->find($auftrag->getId());
$abrechnungConfig['mitarbeitende'] = null;
$abrechnungConfig['verrechnungen'] = null;
$abrechnungConfig['taetigkeittypen'] = null;
$abrechnungConfig['taetigkeitgattungen'] = null;
$monitoredAuftraegeAbrechung[] = $em->getRepository(Auftrag::class)->generateAbrechnungSummary($auftrag, $abrechnungConfig);
}
// Ende
$mitarbeitende = $em->getRepository(Mitarbeiter::class)->findAllPhoneIsListedOrderedByPhoneOffice();
$officeNumberNotSet = [];
// Nummern ohne Office Number am Schluss auflisten
foreach ($mitarbeitende as $key => $ma) {
if ($ma->getPhoneOffice() == '') {
unset($mitarbeitende[$key]);
$officeNumberNotSet[] = $ma;
}
}
$mitarbeitende = array_merge($mitarbeitende, $officeNumberNotSet);
return $this->render('base/Default/index.html.twig', [
'monitoredAuftraegeAbrechung' => $monitoredAuftraegeAbrechung,
'mitarbeitende' => $mitarbeitende,
]);
}
#[Route(path: '/about', name: '_wob_about')]
#[Security("is_granted('ROLE_USER')")]
public function about(ParameterBagInterface $parameterBag): Response
{
$version = $parameterBag->get('app.version');
return $this->render('base/Default/about.html.twig', [
'version' => $version,
]);
}
}