feat: overdue feedbacks on admin dashboard

This commit is contained in:
Björn Fromme
2024-12-18 09:59:07 +01:00
parent fb8a503e80
commit 68ffa216f8
4 changed files with 43 additions and 5 deletions
+2
View File
@@ -45,6 +45,7 @@ class IndexController extends AbstractController
$dispositionRepository = $this->entityManager->getRepository(Disposition::class);
$overdueContracts = $dispositionRepository->findOverdueContracts();
$newDispositions = $dispositionRepository->getNew();
$overdueFeedbacks = $dispositionRepository->findDispositionsWithOverdueFeedback(7);
return $this->render('admin/index.html.twig', [
'applications' => $applications,
@@ -59,6 +60,7 @@ class IndexController extends AbstractController
'pendingDocumentsCount' => $pendingDocumentsCount,
'overdueContracts' => $overdueContracts,
'newDispositions' => $newDispositions,
'overdueFeedbacks' => $overdueFeedbacks,
]);
}
}
+9 -4
View File
@@ -170,7 +170,7 @@ class DispositionRepository extends ServiceEntityRepository
;
}
public function getDispositionsWithPendingFeedbackQuery(?string $hotelCode = null): Query
public function getDispositionsWithPendingFeedbackQuery(?string $hotelCode = null, ?int $offsetDays = null): Query
{
$qb = $this->createQueryBuilder('disposition');
@@ -191,9 +191,14 @@ class DispositionRepository extends ServiceEntityRepository
$qb->expr()->isNull('feedback')
))
->setParameter('status', [Assignment::STATUS_CALLED_OFF, Assignment::STATUS_DELETED])
->setParameter('dateTo', new \DateTimeImmutable())
;
$dateTo = new \DateTimeImmutable();
if (null !== $offsetDays) {
$dateTo = $dateTo->modify('-'.$offsetDays.' days');
}
$qb->setParameter('dateTo', $dateTo);
if (null !== $hotelCode) {
$qb
->andWhere($qb->expr()->like('destination.hotelCode', ':hotelCode'))
@@ -204,10 +209,10 @@ class DispositionRepository extends ServiceEntityRepository
return $qb->getQuery();
}
public function findDispositionsWithPendingFeedback(): array
public function findDispositionsWithOverdueFeedback(?int $offsetDays = null): array
{
return $this
->getDispositionsWithPendingFeedbackQuery()
->getDispositionsWithPendingFeedbackQuery(null, $offsetDays)
->getResult()
;
}
+1 -1
View File
@@ -24,7 +24,7 @@ class FeedbackReminderService
public function sendFeedbackReminders(): string
{
/** @var Disposition[] $dispositionsWithPendingFeedbacks */
$dispositionsWithPendingFeedbacks = $this->dispositionRepository->findDispositionsWithPendingFeedback();
$dispositionsWithPendingFeedbacks = $this->dispositionRepository->findDispositionsWithOverdueFeedback();
$sortedFeedbacks = [];