feat: show upcoming assignments of teamers for administrative users

closes #869b9vkp4
This commit is contained in:
Björn Fromme
2026-03-15 12:42:28 +01:00
parent 643e51ca41
commit e45f6458d4
4 changed files with 121 additions and 0 deletions
@@ -0,0 +1,46 @@
<?php
namespace App\Controller\Administrative\Teamer;
use App\Entity\Teamer;
use App\Repository\DispositionRepository;
use Knp\Component\Pager\PaginatorInterface;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Attribute\Route;
use Symfony\Component\Security\Http\Attribute\IsGranted;
class UpcomingAssignmentsController extends AbstractController
{
public function __construct(
private readonly DispositionRepository $dispositionRepository,
private readonly PaginatorInterface $paginator,
) {
}
#[Route('/administrative/teamer/upcoming-assignments/{uuid}', name: 'app_administrative_teamer_upcoming_assignments')]
#[IsGranted('ROLE_ADMINISTRATIVE')]
public function index(Teamer $teamer, Request $request): Response
{
$query = $this
->dispositionRepository
->getUpcomingDispositionsByTeamerQuery($teamer)
;
$pagination = $this->paginator->paginate(
$query,
$request->query->getInt('page', 1),
10,
[
'defaultSortFieldName' => 'destination.dateFrom',
'defaultSortDirection' => 'asc',
]
);
return $this->render('administrative/teamer/upcoming_assignments.html.twig', [
'teamer' => $teamer,
'pagination' => $pagination,
]);
}
}
+7
View File
@@ -317,6 +317,13 @@ class AdminMenuBuilder extends AbstractMenuBuilder
'title' => 'Vergangene Einsätze',
],
]);
$menu->addChild('Bevorstehende Einsätze', [
'route' => 'app_administrative_teamer_upcoming_assignments',
'routeParameters' => $this->getDefaultRouteParameters('uuid'),
'linkAttributes' => [
'title' => 'Bevorstehende Einsätze',
],
]);
$menu->addChild('Anmerkungen (intern)', [
'route' => 'app_admin_teamer_remarks_internal',
'routeParameters' => $this->getDefaultRouteParameters('uuid'),
+7
View File
@@ -196,6 +196,13 @@ class ManagerMenuBuilder extends AbstractMenuBuilder
'title' => 'Vergangene Einsätze',
],
]);
$menu->addChild('Bevorstehende Einsätze', [
'route' => 'app_administrative_teamer_upcoming_assignments',
'routeParameters' => $this->getDefaultRouteParameters('uuid'),
'linkAttributes' => [
'title' => 'Bevorstehende Einsätze',
],
]);
$this->addDivider($menu);