public function validateAddArticleForm(Form $form) { $values = (object) $form->getHttpData(); if ($values->publishedAt == "later") { $later = DateTimeUtils::createDbDatetimeFormatFromDateParts($values->year, $values->month, $values->day, $values->hour, $values->minute, "0"); $valid = DateTimeUtils::createDateTime(DateTimeUtils::DB_DATETIME_FORMAT, $later); if (!$valid) { $form->addError("Zadej prosím platné datum"); } } if ($values->photoId == 0) { $form->addError("Vyber prosím fotografii ke článku."); } if (!isset($values->tagList)) { $tagList = null; $form->addError("Zadej prosím alespoň jeden tag ke článku."); } else { $tagList = new TagCollection(); foreach ($values->tagList as $tag) { $tagList->addItem(TagService::create($tag)); } } $articleId = $form->getPresenter()->getParameter("articleId"); if (count($form->getErrors()) > 0) { if ($articleId) { $form->getPresenter()->actionEdit(null, $tagList, $values->photoId); } else { $form->getPresenter()->actionAdd($tagList, $values->photoId); } } }
protected function setDatetime($property, $value, $format = DateTimeUtils::DB_DATETIME_FORMAT) { $datetime = DateTimeUtils::createDateTime($format, $value); if (!$datetime) { throw new InvalidDateTimeException(); } $this->{$property} = $datetime; }
public function validateAddReservationForm(Form $form, $values) { $date = DateTimeUtils::createDbDatetimeFormatFromDateParts($values->year, $values->month, $values->day, "0", "0", "0"); $validDate = DateTimeUtils::createDateTime(DateTimeUtils::DB_DATETIME_FORMAT, $date); if (!$validDate) { $form->addError("Zadej prosím platné datum."); } elseif ($validDate->format(DateTimeUtils::DB_DATE_FORMAT) < DateTimeUtils::getNow()->format(DateTimeUtils::DB_DATE_FORMAT)) { $form->addError("Nemůžeš si zpětně rezervovat zápas."); } if ($form->getPresenter()->isAjax() && $form->hasErrors()) { if ($values->reservationId == 0) { $form->getPresenter()->redrawControl("addReservation"); } else { $form->getPresenter()->redrawControl("editReservation"); } } }