Beispiel #1
0
 public function createComponentRulesGrid($name)
 {
     $grid = new Grid($this, $name);
     $grid->setModel($this->ruleService->getRulesDatasource());
     $grid->setTranslator($this->getTranslator());
     $grid->addColumnNumber('id', '#')->cellPrototype->class[] = 'center';
     $headerId = $grid->getColumn('id')->headerPrototype;
     $headerId->class[] = 'center';
     $headerId->rowspan = "2";
     $headerId->style['width'] = '0.1%';
     $grid->addColumnText('role', "securityModule.admin.grid.role")->setSortable()->setFilterSelect([null => null] + $this->getSelectRoles());
     $headerParent = $grid->getColumn('role')->headerPrototype;
     $headerParent->class[] = 'center';
     $grid->addColumnText('resource', "securityModule.admin.grid.resource")->setSortable()->setCustomRender($this->resourceRender)->setFilterText();
     $headerAdded = $grid->getColumn('resource')->headerPrototype;
     $headerAdded->class[] = 'center';
     $grid->addColumnText('privilege', "securityModule.admin.grid.privilege")->setSortable()->setCustomRender($this->privilegeRender)->setTruncate(15)->setFilterText();
     $headerNote = $grid->getColumn('privilege')->headerPrototype;
     $headerNote->class[] = 'center';
     $modesList = [null => null] + AclMode::getOptions();
     $grid->addColumnText('mode', "securityModule.admin.grid.mode")->setSortable()->setCustomRender($this->modeRender)->setTruncate(15)->setFilterSelect($modesList);
     $headerNote = $grid->getColumn('mode')->headerPrototype;
     $headerNote->class[] = 'center';
     $grid->addActionHref('delete', '', 'deleteRule!')->setIcon('trash')->setElementPrototype(\Nette\Utils\Html::el("a")->addAttributes(["title" => $this->tt("securityModule.admin.grid.delete")]))->setConfirm(function ($u) {
         return $this->tt("securityModule.admin.grid.rlyDeleteRule", null, ["pos" => $u]);
     });
     $grid->addActionHref('edit', '', 'updateRule')->setIcon('pencil')->setElementPrototype(\Nette\Utils\Html::el("a")->addAttributes(["title" => $this->tt("securityModule.admin.grid.update")]));
     $grid->setOperation(["delete" => $this->tt("system.common.delete")], $this->ruleGridOpsHandler);
     $grid->setFilterRenderType($this->filterRenderType);
     $grid->setExport("admin-rules " . date("Y-m-d H:i:s", time()));
 }