feat: additional functionality and layout adjustments for season teamers

This commit is contained in:
fromme committed 2026-09-26 12:13:16 +02:00
1 parent 80c6016da3
commit 4cab57d136
30 files changed
+916 -192

No files matched your search

@@ -57,6 +57,30 @@ class SeasonAssignmentTaskRepositoryTest extends KernelTestCase
$this->assertStringContainsString('season_assignment.dateFrom <= :windowEnd', $scoped);
}
/**
* What the propagate action may still rewrite: an entry that is not ticked off, on an
* assignment that has not ended. A finished entry keeps the document it handed out.
*/
public function testPropagationSkipsTickedEntriesAndEndedAssignments(): void
{
/** @var EntityManagerInterface $entityManager */
$entityManager = static::getContainer()->get(EntityManagerInterface::class);
/** @var SeasonAssignmentTaskRepository $repository */
$repository = $entityManager->getRepository(SeasonAssignmentTask::class);
$dql = $repository
->createOpenForTaskQueryBuilder('contract', new \DateTimeImmutable('2026-11-01'))
->getQuery()
->getDQL()
;
$this->assertStringContainsString('task.taskKey = :taskKey', $dql);
$this->assertStringContainsString('task.done = :done', $dql);
$this->assertStringContainsString('season_assignment.dateTo >= :today', $dql);
$this->assertStringContainsString('season_assignment.deletedAt IS NULL', $dql);
}
private function createOpenQueryBuilder(
?\DateTimeImmutable $windowStart = null,
?\DateTimeImmutable $windowEnd = null,