feat: overview of teamers' custom availabilities

This commit is contained in:
Björn Fromme
2024-10-28 16:52:36 +01:00
parent a8ccdc8775
commit 2df2d70375
4 changed files with 129 additions and 4 deletions
+12 -4
View File
@@ -23,20 +23,28 @@ class AvailabilityRepository extends ServiceEntityRepository
parent::__construct($registry, Availability::class);
}
public function getListQuery(): Query
public function getListQuery(bool $custom = false): Query
{
$qb = $this->createQueryBuilder('availability');
return $qb
$qb
->select('availability', 'teamer')
->leftJoin('availability.owner', 'teamer')
->where($qb->expr()->andX(
$qb->expr()->gt('availability.dateFrom', ':today'),
$qb->expr()->isNull('availability.owner'),
$qb->expr()->isNull('availability.deletedAt')
))
->orderBy('availability.dateFrom', 'ASC')
->setParameter('today', new \DateTimeImmutable())
->getQuery()
;
if (false === $custom) {
$qb->andWhere($qb->expr()->isNull('availability.owner'));
} else {
$qb->andWhere($qb->expr()->isNotNull('availability.owner'));
}
return $qb->getQuery();
}
public function getSelectableForTeamer(Teamer $teamer): array