feat: overdue feedbacks on admin dashboard
This commit is contained in:
@@ -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,
|
||||
]);
|
||||
}
|
||||
}
|
||||
@@ -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()
|
||||
;
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@ class FeedbackReminderService
|
||||
public function sendFeedbackReminders(): string
|
||||
{
|
||||
/** @var Disposition[] $dispositionsWithPendingFeedbacks */
|
||||
$dispositionsWithPendingFeedbacks = $this->dispositionRepository->findDispositionsWithPendingFeedback();
|
||||
$dispositionsWithPendingFeedbacks = $this->dispositionRepository->findDispositionsWithOverdueFeedback();
|
||||
|
||||
$sortedFeedbacks = [];
|
||||
|
||||
|
||||
Reference in New Issue
Block a user