From 3dec64587e8de75fc1a7a89b7c806fef67c0150a Mon Sep 17 00:00:00 2001 From: adametz Date: Mon, 15 Oct 2018 14:57:27 +0000 Subject: [PATCH] Anpassung ID zum v2 backend git-svn-id: http://78.47.251.156/svn/dev/sterntours-3@3471 f459cee4-fb09-11de-96c3-f9c5f16c3c76 --- .../src/AppBundle/Entity/TravelPeriodRepository.php | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) 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]; } } }