Exemplo n.º 1
0
 protected function createComponentMemberGrid($name)
 {
     $grid = new \Ublaboo\DataGrid\DataGrid($this, $name);
     if ($this->presenter->id == null) {
         $contacts = $this->database->table("users");
     } else {
         $contacts = $this->database->table("users")->where("categories_id", $this->id);
     }
     $grid->setTranslator($this->presenter->translator);
     $grid->setDataSource($contacts);
     $grid->addGroupAction('Delete')->onSelect[] = [$this, 'handleDelete'];
     $grid->addColumnLink('name', 'dictionary.main.Title')->setRenderer(function ($item) {
         $url = \Nette\Utils\Html::el('a')->href($this->presenter->link('edit', array("id" => $item->id)))->setText($item->username);
         return $url;
     })->setSortable();
     $grid->addColumnText('email', $this->presenter->translator->translate('dictionary.main.Email'))->setSortable();
     $grid->addColumnText('state', $this->presenter->translator->translate('dictionary.main.State'))->setRenderer(function ($item) {
         if ($item->date_created == 1) {
             $text = 'dictionary.main.enabled';
         } else {
             $text = 'dictionary.main.disabled';
         }
         return $this->presenter->translator->translate($text);
     })->setSortable();
     $grid->addColumnText('date_created', $this->presenter->translator->translate('dictionary.main.Date'))->setRenderer(function ($item) {
         $date = date("j. n. Y", strtotime($item->date_created));
         return $date;
     })->setSortable();
     //$grid->setTranslator($this->translator);
 }
Exemplo n.º 2
0
 protected function createComponentContactsGrid($name)
 {
     $grid = new \Ublaboo\DataGrid\DataGrid($this, $name);
     if ($this->presenter->id == null) {
         $contacts = $this->database->table("contacts");
     } else {
         $contacts = $this->database->table("contacts")->where("categories_id", $this->presenter->id);
     }
     $grid->setDataSource($contacts);
     $grid->addGroupAction($this->presenter->translator->translate('dictionary.main.Delete'))->onSelect[] = [$this, 'handleDelete'];
     $grid->addColumnLink('name', 'dictionary.main.Title')->setRenderer(function ($item) {
         if (strlen($item->name) == 0 && strlen($item->company) == 0) {
             $name = 'nemá název';
         } elseif (strlen($item->name) == 0) {
             $name = $item->company;
         } else {
             $name = $item->name;
         }
         $url = \Nette\Utils\Html::el('a')->href($this->presenter->link('detail', array("id" => $item->pages_id)))->setText($name);
         return $url;
     })->setSortable();
     $grid->addFilterText('name', $this->presenter->translator->translate('dictionary.main.Name'));
     $grid->addColumnText('email', $this->presenter->translator->translate('dictionary.main.Email'))->setSortable();
     $grid->addFilterText('email', $this->presenter->translator->translate('dictionary.main.Email'));
     $grid->addColumnText('phone', $this->presenter->translator->translate('dictionary.main.Phone'))->setSortable();
     $grid->addFilterText('phone', $this->presenter->translator->translate('dictionary.main.Phone'));
     $grid->addColumnText('vatin', $this->presenter->translator->translate('dictionary.main.VatIn'))->setSortable();
     $grid->addFilterText('vatin', 'dictionary.main.VatIn');
     $grid->addColumnText('street', $this->presenter->translator->translate('dictionary.main.Address'))->setRenderer(function ($item) {
         $address = $item->street . ', ' . $item->zip . ' ' . $item->city;
         if (strlen($address) > 2) {
             $addressText = $address;
         } else {
             $addressText = null;
         }
         return $addressText;
     })->setSortable();
     $grid->addFilterText('street', 'dictionary.main.Street');
     $grid->setTranslator($this->presenter->translator);
 }