1 <?php
2
3 namespace Objednavky;
4
5
6 use Nette\Application\UI;
7 use Nette\Utils\Html;
8 use Nette\Database\Table\Selection;
9 use Kdyby\BootstrapFormRenderer\BootstrapRenderer;
10 use PLus\Orders\Repositories;
11
12
13 14 15 16 17
18 class NewsPresenter extends BasePresenter {
19
20
21 public $newsRepository;
22
23
24 public $parameters;
25
26
27 28 29
30 public function actionDefault() {
31 $this->template->allnews = $this->newsRepository->getAllValidNews();
32 }
33
34 35 36 37
38 public function renderView($id) {
39
40 $item = $this->newsRepository->findById($id);
41 if ($item === false) {
42 $this->flashMessage('Zpráva č. '. $id .' nebyla dohledána.', 'error');
43 $this->redirect('Homepage:default');
44 }
45 else {
46 $this->template->news = $item;
47 $this->newsRepository->stampVisit($item->id, $this->getUser()->id);
48 }
49 }
50
51
52 public function createComponentNewsGrid($name) {
53
54 $user = $this->getUser();
55
56 $grid = new \Grido\Grid($this, $name);
57 $grid->setmodel($this->newsRepository->getAllValidNews());
58
59 $grid->translator->lang = 'cs';
60 $grid->defaultPerPage = 15;
61 $grid->filterRenderType = \Grido\Components\Filters\Filter::RENDER_OUTER;
62 $grid->setRememberState(TRUE);
63
64 $grid->addColumnText('name', 'Název')
65 ->setSortable()
66 ->setFilterText()
67 ->setSuggestion();
68 $grid->getColumn('name')->headerPrototype->style['width'] = '25%';
69
70 $grid->addColumnDate('created', 'Vloženo')
71 ->setSortable()
72 ->setFilterDate();
73 $grid->getColumn('created')->cellPrototype->class[] = 'center';
74
75 $grid->addColumnText('uname', 'Autor')
76 ->setSortable()
77 ->setFilterText()
78 ->setSuggestion();
79
80
81 $column = new \Grido\Components\Columns\Boolean($grid, 'valid', 'Platnost');
82 $column->setSortable()
83 ->headerPrototype->style['width'] ='4%';
84 $grid->getColumn('valid')->headerPrototype->class[] = 'center';
85
86
87 $grid->addActionHref('view', 'Zobrazit')
88 ->setIcon('fa fa-eye fa-fw');
89
90 }
91 }
92