/** * Article form factory. * * @return \Nette\Application\UI\Form */ protected function createComponentArticleForm() { $form = BaseFormRenderer::factory(); $form->addText('title', 'Title:')->setRequired('Please enter title.'); $form->addTextArea('content', 'Content:')->setHtmlId('code')->setRequired('Please enter content.'); $languages = array('cs' => 'česky', 'en' => 'english'); $form->addSelect('language', 'Language:', $languages); $types = $this->articleManager->getArticleTypes(); if (!empty($types)) { $form->addSelect('type', 'Type', $types); } else { $form->addHidden('type', 'default'); } // TODO : use class name? $form->addText('tags', 'Tags:')->setAttribute('data-tags-default', $this->articleManager->getTagsAsString())->setAttribute("style", 'width:100%')->setHtmlId('tags'); if (!empty($this->article)) { $tags = $this->articleManager->getTagsAsStringForArticle($this->article->id); $defaults = ['title' => $this->article->title, 'content' => $this->article->content, 'tags' => $tags, 'language' => $this->article->language]; $form->setDefaults($defaults); if (!empty($types)) { $type = $this->articleManager->getArticleType($this->article->id); if ($type) { $form->setDefaults(['type' => $type->name]); } } $form->addSubmit('send', 'Save article'); } else { $form->addSubmit('send', 'Add article'); } $form->onSuccess[] = $this->articleFormSucceeded; return $form; }
/** * Article form factory. * * @return \Nette\Application\UI\Form */ protected function createComponentArticleForm() { $form = new Form(); $form->addText('title', 'Title:')->setRequired('Please enter title.'); $form->addTextArea('content', 'Content:')->setRequired('Please enter content.'); $form->addCheckbox('draft', 'Draft'); $languages = array('cs' => 'česky', 'en' => 'english'); $form->addSelect('language', 'Language:', $languages); $versions = $this->versionManager->getVersions(); $form->addSelect('version', 'Version:', $versions); $types = $this->articleManager->getArticleTypes(); if (!empty($types)) { $form->addSelect('type', 'Type', $types); } else { $form->addHidden('type', 'default'); } $form->addText('tags', 'Tags:'); if (!empty($this->article)) { $tags = $this->articleManager->getTagsAsStringForArticle($this->article->id); if ($this->article->document_state == 'draft') { $draft = TRUE; } else { $draft = FALSE; } $defaults = ['title' => $this->article->title, 'content' => $this->article->content, 'tags' => $tags, 'language' => $this->article->language, 'draft' => $draft]; $form->setDefaults($defaults); if (!empty($types)) { $type = $this->articleManager->getArticleType($this->article->id); if ($type) { $form->setDefaults(['type' => $type->name]); } } $image = $form->addUpload('file', 'File'); $image->addCondition(Form::FILLED)->addRule(Form::IMAGE, 'Please select image file'); $form->addText('fileNote', 'File description'); $form->addSubmit('send', 'Save'); $form->addSubmit('sendAndView', 'Save and view article'); } else { $defaults = ['draft' => TRUE]; $form->setDefaults($defaults); $form->addSubmit('send', 'Save article'); } $form->onSuccess[] = $this->articleFormSucceeded; return $form; }