protected function validatePast(\DateTime $date, \Club\BookingBundle\Entity\Interval $interval) { $c = clone $date; $c->setTime($interval->getStartTime()->format('H'), $interval->getStartTime()->format('i'), $interval->getStartTime()->format('s')); if ($c < new \DateTime()) { return false; } return true; }
public function getVirtualInterval(\Club\BookingBundle\Entity\Interval $interval, $date) { $start = new \DateTime($date->format('Y-m-d') . ' ' . $interval->getStartTime()->format('H:i:s')); $end = new \DateTime($date->format('Y-m-d') . ' ' . $interval->getStopTime()->format('H:i:s')); $i = new \DateInterval('PT1S'); $start->add($i); $bookings = $this->em->getRepository('ClubBookingBundle:Booking')->getAllBetween($start, $end, $interval->getField()); if ($bookings) { $interval->setBooking($bookings[0]); } $schedules = $this->em->getRepository('ClubTeamBundle:Schedule')->getAllBetween($start, $end, null, $interval->getField()->getLocation(), $interval->getField()); if ($schedules) { $interval->setSchedule($schedules[0]); } $plans = $this->em->getRepository('ClubBookingBundle:Plan')->getBetweenByField($interval->getField(), $start, $end); if ($plans) { $interval->setPlan($plans[0]); } return $interval; }