/** ------------------------- * Check the time range defined in the assertion plan * * Conditions today <= anchordate < endingdate, where ending date is at * least one week after anchordate (checked in javascript) or empty. * * @param RepeatedDrivingAssertionPlan $assertionPlan * @param array $errors * @return null */ protected function checkTimeRange($assertionPlan, &$errors) { $today = new \DateTime(); $today->setTime(0, 0); if ($assertionPlan->getAnchorDate() < $today) { $errors[] = $this->translate('repeateddrivingassertion.error.anchordate'); } if ($assertionPlan->getEndingDate() < $assertionPlan->getAnchorDate()) { $errors[] = $this->translate('repeateddrivingassertion.error.endingdate'); } }
/** * @param RepeatedDrivingAssertionPlan $assertionPlan * @return RepeatedDrivingAssertionEmbeddedListDTO */ protected function assertionPlanToEmbeddedListDTO(RepeatedDrivingAssertionPlan $assertionPlan) { $dto = new RepeatedDrivingAssertionEmbeddedListDTO(); $dto->id = $assertionPlan->getId(); $dto->subject = $assertionPlan->getSubject(); $dto->anchorDate = $assertionPlan->getAnchorDate()->format('d.m.Y'); $dto->endDate = $assertionPlan->getEndingDate() != DateTimeService::getMaxDateTime() ? $assertionPlan->getEndingDate()->format('d.m.Y') : 'repeateddrivingassertion.validtillrecalled'; $dto->frequency = $assertionPlan->getFrequency(); return $dto; }