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); } } }
private function formValuesToEntity(Form $form, $values) { $user = UserService::loadFromSession($form->getPresenter()->getUser()); $values->releaseDate = DateTimeUtils::createDbDatetimeFormatFromDateParts($values->year, $values->month, $values->day, "0", "0", "0"); if ($values->reservationId == 0) { return ReservationService::create($values, $user); } else { return ReservationService::loadForUpdate($values); } }
public static function loadForUpdate($articleId, $editedArticle, $user, $photo, $tags, $categories) { $instance = new Article(); $instance->setId($articleId); $instance->setTitle($editedArticle->title); $instance->setContent($editedArticle->content); if ($editedArticle->publishedAt == "later") { $publishedAt = DateTimeUtils::createDbDatetimeFormatFromDateParts($editedArticle->year, $editedArticle->month, $editedArticle->day, $editedArticle->hour, $editedArticle->minute, "0"); $instance->setPublishedAt($publishedAt); } $instance->setLastModifiedAt("now"); $instance->setUser($user); $instance->setPhoto($photo); $instance->setTags($tags); $instance->setCategories($categories); return $instance; }