diff --git a/src/Controller/HouseManager/Feedback/IndexController.php b/src/Controller/HouseManager/Feedback/IndexController.php index 1516546..b4169ac 100644 --- a/src/Controller/HouseManager/Feedback/IndexController.php +++ b/src/Controller/HouseManager/Feedback/IndexController.php @@ -2,8 +2,6 @@ namespace App\Controller\HouseManager\Feedback; -use App\BusProNet\DataProvider\HotelDataProvider; -use App\BusProNet\Model\Hotel; use App\Entity\User; use App\Repository\DispositionRepository; use Knp\Component\Pager\PaginatorInterface; @@ -17,7 +15,6 @@ class IndexController extends AbstractController { public function __construct( private readonly DispositionRepository $dispositionRepository, - private readonly HotelDataProvider $hotelDataProvider, private readonly PaginatorInterface $paginator ) { } @@ -29,18 +26,9 @@ class IndexController extends AbstractController /** @var User $user */ $user = $this->getUser(); - $hotels = $this - ->hotelDataProvider - ->findByCode($user->getHotelCode()) - ; - - $hotelBusProIds = array_map(function (Hotel $hotel) { - return $hotel->getBusProId(); - }, $hotels); - $query = $this ->dispositionRepository - ->getDispositionsWithPendingFeedbackQuery($hotelBusProIds) + ->getDispositionsWithPendingFeedbackQuery($user->getHotelCode()) ; $pagination = $this->paginator->paginate( diff --git a/src/Controller/HouseManager/IndexController.php b/src/Controller/HouseManager/IndexController.php index 56bf4d6..8bb6733 100644 --- a/src/Controller/HouseManager/IndexController.php +++ b/src/Controller/HouseManager/IndexController.php @@ -3,7 +3,6 @@ namespace App\Controller\HouseManager; use App\BusProNet\DataProvider\HotelDataProvider; -use App\BusProNet\Model\Hotel; use App\Entity\User; use App\Repository\DispositionRepository; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; @@ -31,18 +30,14 @@ class IndexController extends AbstractController ->findByCode($user->getHotelCode()) ; - $hotelBusProIds = array_map(function (Hotel $hotel) { - return $hotel->getBusProId(); - }, $hotels); - $newDispositions = $this ->dispositionRepository - ->findNewDispositionsByHotelBusProIds($hotelBusProIds) + ->findNewDispositionsByHotelCode($user->getHotelCode()) ; $pendingFeedbacks = $this ->dispositionRepository - ->findDispositionsWithPendingFeedbackByHotelBusProIds($hotelBusProIds) + ->findDispositionsWithPendingFeedbackByHotelCode($user->getHotelCode()) ; return $this->render('house_manager/index.html.twig', [ diff --git a/src/Repository/DispositionRepository.php b/src/Repository/DispositionRepository.php index 2dd262d..9893e40 100644 --- a/src/Repository/DispositionRepository.php +++ b/src/Repository/DispositionRepository.php @@ -5,10 +5,8 @@ namespace App\Repository; use App\Entity\Assignment; use App\Entity\Disposition; use App\Entity\Teamer; -use App\Entity\Upload; use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; use Doctrine\ORM\Query; -use Doctrine\ORM\Query\Expr\Join; use Doctrine\Persistence\ManagerRegistry; /** @@ -150,7 +148,7 @@ class DispositionRepository extends ServiceEntityRepository ; } - public function findNewDispositionsByHotelBusProIds(array $hotelBusProIds): array + public function findNewDispositionsByHotelCode(string $hotelCode): array { $qb = $this->createQueryBuilder('disposition'); @@ -159,12 +157,12 @@ class DispositionRepository extends ServiceEntityRepository ->innerJoin('disposition.assignment', 'assignment') ->innerJoin('assignment.destination', 'destination') ->where($qb->expr()->andX( - $qb->expr()->in('destination.hotelBusProId', ':hotelBusProIds'), + $qb->expr()->like('destination.hotelCode', ':hotelCode'), $qb->expr()->gte('destination.dateTo', ':dateTo'), $qb->expr()->eq('disposition.status', ':status') )) ->orderBy('destination.dateFrom', 'ASC') - ->setParameter('hotelBusProIds', $hotelBusProIds) + ->setParameter('hotelCode', '%'.$hotelCode.'%') ->setParameter('dateTo', new \DateTimeImmutable()) ->setParameter('status', Disposition::STATUS_CONFIRMED) ->getQuery() @@ -172,7 +170,7 @@ class DispositionRepository extends ServiceEntityRepository ; } - public function getDispositionsWithPendingFeedbackQuery(array $hotelBusProIds = null): Query + public function getDispositionsWithPendingFeedbackQuery(?string $hotelCode = null): Query { $qb = $this->createQueryBuilder('disposition'); @@ -196,10 +194,10 @@ class DispositionRepository extends ServiceEntityRepository ->setParameter('dateTo', new \DateTimeImmutable()) ; - if (null !== $hotelBusProIds) { + if (null !== $hotelCode) { $qb - ->andWhere($qb->expr()->in('destination.hotelBusProId', ':hotelBusProIds')) - ->setParameter('hotelBusProIds', $hotelBusProIds) + ->andWhere($qb->expr()->like('destination.hotelCode', ':hotelCode')) + ->setParameter('hotelCode', '%'.$hotelCode.'%') ; } @@ -214,10 +212,10 @@ class DispositionRepository extends ServiceEntityRepository ; } - public function findDispositionsWithPendingFeedbackByHotelBusProIds(array $hotelBusProIds): array + public function findDispositionsWithPendingFeedbackByHotelCode(string $hotelCode): array { return $this - ->getDispositionsWithPendingFeedbackQuery($hotelBusProIds) + ->getDispositionsWithPendingFeedbackQuery($hotelCode) ->getResult() ; }