Beispiel #1
0
 protected function createComponentGrid($name)
 {
     $grid = new \App\Grids\baseGrid($this, $name);
     $grid->model = $this->model;
     $grid->addColumnText('firstname', 'Jméno')->setSortable()->setFilterText();
     $grid->addColumnText('lastname', 'Příjmení')->setSortable()->setFilterText();
     $grid->addColumnText('gender', 'Pohlaví')->setSortable()->setReplacement($grid::$genderReplacements)->setFilterSelect($grid::$genderFilters);
     $grid->addColumnDate('birthdate', 'Narození')->setSortable()->setFilterDate();
     $grid->addColumnText('email', 'Email')->setSortable()->setFilterText();
     $grid->addColumnText('imap_username', 'Školní login')->setSortable()->setFilterText();
     $grid->addColumnText('facebook_id', 'Facebook')->setSortable()->setFilterText();
     $grid->addColumnText('active', 'Aktivní')->setSortable()->setReplacement($grid::$booleanReplacements)->setFilterSelect($grid::$booleanFilters);
     $grid->addColumnText('enabled', 'Povolený')->setSortable()->setReplacement($grid::$booleanReplacements)->setFilterSelect($grid::$booleanFilters);
     $grid->addActionHref("id", "Detail");
     $grid->addActionHref("delete", "Odstranit")->setConfirm(function ($item) {
         return "Opravdu chcete odstranit uživatele {$item->firstname} {$item->lastname}?";
     });
     $grid->addActionHref('activate', 'Aktivovat')->setDisable(function ($item) {
         return $item->active == 1;
     });
     $grid->addActionHref('deactivate', 'Deaktivovat')->setDisable(function ($item) {
         return $item->active == 0;
     });
     $grid->addActionHref('enable', 'Povolit')->setDisable(function ($item) {
         return $item->enabled == 1;
     });
     $grid->addActionHref('disable', 'Zablokovat')->setDisable(function ($item) {
         return $item->enabled == 0;
     });
     $operations = array('delete' => 'Odstranit', 'enable' => 'Povolit', 'disable' => 'Zablokovat');
     $grid->setOperation($operations, $this->gridOperationsHandler)->setConfirm('delete', 'Opravdu chcete smazat všech %i uživatelů?');
     $grid->setDefaultSort(array('lastname' => 'ASC'));
     return $grid;
 }
Beispiel #2
0
 protected function createComponentGrid($name)
 {
     $grid = new \App\Grids\baseGrid($this, $name);
     if ($this->user->isInRole("administrator") || $this->user->isInRole("teacher")) {
         $grid->model = $this->model;
     } else {
         $grid->model = $this->model->getSelection()->where("user_id = " . $this->user->id);
     }
     $grid->addColumnText('wrk_name', 'Název')->setSortable()->setFilterText();
     $grid->addColumnText('firstname', 'Jméno autora')->setSortable()->setFilterText();
     $grid->addColumnText('lastname', 'Příjmení autora')->setSortable()->setFilterText();
     $grid->addColumnText('class', 'Třída')->setSortable()->setFilterText();
     $grid->addColumnText('year', 'Školní rok')->setSortable()->setFilterText();
     $grid->addColumnText('set_name', 'Sada prací')->setSortable()->setFilterText();
     $grid->addColumnText('status', 'Stav')->setSortable()->setReplacement($this->statuses)->setFilterSelect($this->statuses);
     $grid->addColumnDate('created_date', 'Vytvořeno')->setSortable()->setFilterDate();
     $grid->addActionHref("id", "Detail");
     $grid->addActionHref("application", "Přihláška");
     $grid->addActionHref("delete", "Odstranit")->setConfirm(function ($item) {
         return "Opravdu chcete odstranit zadání práce {$item->name}?";
     })->setDisable(function ($item) {
         if ($item->status > 0) {
             return true;
         }
         if (!($this->user->isInRole("administrator") || $this->user->id == $item->created_by)) {
             return true;
         }
         return false;
     });
     $operations = array('delete' => 'Odstranit');
     $grid->setOperation($operations, $this->gridOperationsHandler)->setConfirm('delete', 'Opravdu chcete smazat všech %i prací?');
     $grid->setDefaultSort(array('name' => 'ASC'));
     return $grid;
 }
Beispiel #3
0
 protected function createComponentGrid($name)
 {
     $grid = new \App\Grids\baseGrid($this, $name);
     if ($this->user->isInRole("manager")) {
         $grid->model = $this->model;
     } else {
         if ($this->user->isInRole("teacher")) {
             $grid->model = $this->model->getUsersActivity($this->user->id);
         }
     }
     $pks = $this->model->getPKList();
     $nothing = array("" => "");
     $pks = $nothing + $pks;
     $grid->addColumnText('fn', 'Jméno')->setSortable()->setFilterText()->setColumn("user.firstname");
     $grid->addColumnText('ln', 'Příjmení')->setSortable()->setFilterText()->setColumn("user.lastname");
     $grid->addColumnText('pk', 'PK')->setSortable()->setFilterSelect($pks)->setColumn("act_notebooks_id");
     $grid->addColumnDate('date', 'Datum')->setSortable()->setFilterText()->setColumn("act_works.date");
     $grid->addColumnText('name', 'Název')->setSortable()->setFilterText();
     $grid->addColumnText('timeInM', 'Čas (h)')->setSortable()->setFilterText();
     $grid->addColumnText('note', 'Poznámka')->setSortable()->setFilterText();
     $grid->addColumnText('preapproval', 'Schválená PK')->setSortable()->setReplacement($grid::$booleanReplacements)->setFilterSelect($grid::$booleanFilters);
     $grid->addColumnText('approval', 'Schválená')->setSortable()->setReplacement($grid::$booleanReplacements)->setFilterSelect($grid::$booleanFilters);
     $grid->addColumnText('reward', 'Odměna')->setSortable();
     $grid->addActionHref("approve", "Schválení")->setDisable(function ($item) {
         return !($this->model->isWorksPkHead($item->act_notebooks_id, $this->user->id) || $this->user->isInRole("manager"));
     });
     $grid->addActionHref("addact", "Editace")->setDisable(function ($item) {
         return !($item->created_id == $this->user->id || $this->user->id == $item->user_id) || $this->model->isActivityApproved($item->id);
     });
     $grid->addActionHref("delete", "Smazat")->setDisable(function ($item) {
         return !($item->created_id == $this->user->id || $this->user->id == $item->user_id) || $this->model->isActivityApproved($item->id);
     });
     $grid->setFilterRenderType(\Grido\Components\Filters\Filter::RENDER_INNER);
     return $grid;
 }