Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- namespace AdminModule;
- use Nette\Application\UI\Form as Form;
- class NewsPresenter extends BasePresenter {
- /** @var \Main\NewsRepository */
- public $newsRepository;
- /** @var \Main\ListRepository */
- public $usersRepository;
- /**
- * Inject Repositories
- *
- */
- public function inject(\Main\NewsRepository $newsRepository, \Main\UsersRepository $usersRepository) {
- $this->newsRepository = $newsRepository;
- $this->usersRepository = $usersRepository;
- }
- /**
- * Ešte pred vykreslením stránky
- */
- public function beforeRender() {
- $this->template->allNews = $this->newsRepository->getAllNews();
- if ($this->isAjax()) {
- $this->invalidateControl('flashMessages');
- }
- }
- /**
- * Formulár pre pridávanie noviniek
- * @return Nette\Application\UI\Form
- */
- protected function createComponentAddNewsForm() {
- $form = new Form;
- $form->elementPrototype->addAttributes(array('class' => 'form-horizontal col-lg-5'));
- $renderer = $form->getRenderer();
- $renderer->wrappers['controls']['container'] = 'div';
- $renderer->wrappers['pair']['container'] = 'div class="form-group"';
- $renderer->wrappers['control']['.submit'] = 'btn';
- $form->addText('title', 'Title: *')
- ->setAttribute('class', 'form-control')
- ->addRule(Form::FILLED, 'Please enter title.');
- $form->addTextArea('body', 'Body: *', 100, 15)
- ->addRule(Form::FILLED, 'Body field must be filled.');
- $form->addSubmit('addnews', 'Add News')
- ->setAttribute('class', 'btn-success pull-left');
- $form->onSuccess[] = $this->addNewsFormSubmitted;
- return $form;
- }
- /**
- * Po úspešnom odoslaní formulára AddNewsForm
- */
- public function addNewsFormSubmitted(Form $form) {
- $values = $form->getValues();
- $news = $this->newsRepository->addNews($values, $this->getUser()->getId());
- if ($news) {
- $this->flashMessage('You have successfully added a news.', 'success');
- $this->redirect('News:default');
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment