diff --git a/trunk/src/AppBundle/Entity/TravelPeriodRepository.php b/trunk/src/AppBundle/Entity/TravelPeriodRepository.php index 8b5ea75f..6badc57f 100644 --- a/trunk/src/AppBundle/Entity/TravelPeriodRepository.php +++ b/trunk/src/AppBundle/Entity/TravelPeriodRepository.php @@ -371,6 +371,7 @@ class TravelPeriodRepository extends \Doctrine\ORM\EntityRepository \DateTime $startDate = null, \DateTime $endDate = null) { $currencyFactor = $travelProgram->getNettoPricesInEuro() ? 1 : $this->getCurrencyFactor(); + $counters = array(); // #TODO Consider adding travelPeriods to travelProgram in the search algorithm //foreach ($travelProgram->getPeriods() as $travelPeriod) @@ -378,9 +379,13 @@ class TravelPeriodRepository extends \Doctrine\ORM\EntityRepository { if ($travelPeriod->getIsSeason()) { - $i = 1; foreach ($travelPeriod->getDates() as $travelPeriodDate) { + $cn = $travelPeriodDate->getId().$travelPeriod->getName(); + if(empty($counters[$cn])){ + $counters[$cn] = 1; + } + $seasonEndDate = clone $travelPeriodDate->getEndDate(); $seasonEndDate->modify('+'.$travelProgram->getProgramDuration().' day'); if ($endDate != null && $seasonEndDate > $endDate) @@ -413,6 +418,7 @@ class TravelPeriodRepository extends \Doctrine\ORM\EntityRepository // #TODO Do we need the travel date key? $travelDateEnd = (clone $date)->modify('+'.$travelProgram->getProgramDuration().' day'); $travelDateKey = $this->createTravelDateKey($date, $travelDateEnd); + if (!$travelProgram->hasTravelDate($travelDateKey)) { $flightPeriod = null; @@ -425,7 +431,7 @@ class TravelPeriodRepository extends \Doctrine\ORM\EntityRepository $travelProgram->addTravelDateFromSeasonTravelPeriod( $travelDateKey, $travelPeriod, - $travelPeriodDate->getId() . $travelPeriod->getName() . $i, + $travelPeriodDate->getId() . $travelPeriod->getName() . $counters[$cn], $date, $travelDateEnd, $flightPeriod, @@ -437,7 +443,7 @@ class TravelPeriodRepository extends \Doctrine\ORM\EntityRepository // Also increment $i if the date is theoretically possible but excluded from the search request if ($isPossibleDate) { - ++$i; + ++ $counters[$cn]; } } }