Fix calendar showing incorrect contingent results

This commit is contained in:
Björn Fromme
2021-08-05 17:37:44 +02:00
parent 3ef7b42ce7
commit 793dec972a
2 changed files with 3 additions and 16 deletions
@@ -71,7 +71,7 @@ class AjaxCalendarController extends ActionController
$eventsRangeBegin = $range->getBegin()->sub(new \DateInterval('P1D'));
$eventsRangeEnd = $range->getEnd()->add(new \DateInterval('P1D'));
$eventsRange = new Range($eventsRangeBegin, $eventsRangeEnd);
$events = $factory->getEvents($eventsRange, [ 'hotel' => $hotel, 'hotelUid' => $hotel->getUid() ]);
$events = $factory->getEvents($eventsRange, [ 'hotel' => $hotel ]);
$yearStart = $factory->getYear($range->getBegin()->format('Y'));
$yearEnd = null;
@@ -49,37 +49,24 @@ class ContingentRepository extends AbstractRepository implements ProviderInterfa
{
$optionsResolver = new OptionsResolver();
$optionsResolver->setRequired(['hotel']);
$optionsResolver->setDefined(['hotelUid']);
$optionsResolver->setAllowedTypes('hotel', Hotel::class);
$resolvedOptions = $optionsResolver->resolve($options);
/** @var Hotel $hotel */
$hotel = $resolvedOptions['hotel'];
$hotelCode = $hotel->getCode();
$qb = $this->getDbConnection()->createQueryBuilder();
$qb
->select('status as status', 'date as date', 'min_price as minPrice', 'pax', 'available')
->from('tx_epproducts_domain_model_contingent')
->where('hotel = :hotelUid')
->andWhere('date >= :dateFrom')
->setParameter('hotelUid', $hotel->getUid())
->setParameter('dateFrom', $begin->format('Y-m-d'))
->orderBy('date')
;
if (!empty($hotel->getCode())) {
$qb
->where('hotel_code = :hotelCode')
->setParameter('hotelCode', $hotelCode)
;
} else {
$hotelUid = $resolvedOptions['hotelUid'];
$qb
->where('hotel = :hotelUid')
->setParameter('hotelUid', $hotelUid)
;
}
if (null !== $end) {
$qb
->andWhere('date <= :dateTo')