protected function createComponentGrid() { $dg = new \Gridder\Gridder(); $dg->setClass('users'); $repository = $this->context->documentManager->getRepository('User'); $source = new \Gridder\Sources\MongoRepositorySource($repository); //$source->prime('areaOfExpertise'); $storageSection = $this->getSession()->getSection('gridder_users' . $this->user->id); $persister = new \Gridder\Persisters\SessionPersister($storageSection); $dg->setSource($source); $dg->setPersister($persister); $dg->setPresenter($this); $dg->setInitialItemsPerPage(10); $dg->setPrimaryKey('id'); //$dg->addColumn('id')->setCaption('id'); $dg->addColumn('nick')->setSortable(TRUE)->setFilter('text'); $dg->addColumn('email')->setSortable(TRUE)->setFilter('text'); $dg->addColumn('projectCount')->setCaption('project count')->setSortable(TRUE); $dg->addColumn('account')->setSortable(TRUE)->setFilter('text'); $dg->addColumn('active')->setCaption('active')->setSortable(TRUE)->valueModifier[] = function ($boolean) { return $boolean === TRUE ? 'yes' : 'no'; }; $ac = $dg->addActionColumn('akcie'); $ac->addAction('detail', 'detail:')->setTitle('detail'); return $dg; }
public function createComponentGridRoles($name) { $persister = new \Gridder\Persisters\SessionPersister($this->getSession('grid-permissions')); $repository = $this->em->getRepository('UserRole'); $source = new \Gridder\Sources\RepositorySource($repository); $grid = new \Gridder\Gridder($source, $persister, $this, $name); $grid->addColumn('name'); $grid->addColumn('permissions', 'entityChild')->setPath('permissions'); $ac = $grid->addActionColumn('actions'); $ac->addAction('edit', 'edit!', true)->setIcon('normal edit')->hideTitle()->onActionRender[] = callback($this, 'checkRole'); $ac->addAction('delete', 'delete!', true)->setIcon('normal delete')->hideTitle()->onActionRender[] = callback($this, 'checkRole'); }
protected function createComponentGridUsers($name) { $repository = $this->em->getRepository('User'); $persister = new \Gridder\Persisters\SessionPersister($this->getSession('usersGrid')); $queryBuilder = $this->em->createQueryBuilder()->select('u')->from('Entity\\User', 'u'); $source = new \Gridder\Sources\RepositorySource($repository, \Gridder\Sources\RepositorySource::HYDRATION_COMPLEX); //$source = new \Gridder\Sources\QueryBuilderSource($queryBuilder, \Gridder\Sources\QueryBuilderSource::HYDRATION_COMPLEX); $grid = new \Gridder\Gridder($source, $persister, $this, $name); $grid->autoAddFilters = true; $grid->addColumn('id'); $grid->addColumn('name'); $grid->addColumn('email'); $items = $this->em->getRepository('UserRole')->fetchPairs('id', 'name'); $grid->addColumn('role')->setArrayFilter($items); $grid->addColumn('permissions', 'entityChild')->setPath('role->permissions')->disableFilter(); $ac = $grid->addActionColumn('actions'); $ac->addAction('View', 'view')->setIcon('normal view')->hideTitle(); }