/** -------------------------
  * 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;
 }