public function indexAction() { $data = array(); $source = new Entity('OjsJournalBundle:Publisher', 'application'); $tableAlias = $source->getTableAlias(); $source->manipulateQuery(function (QueryBuilder $query) use($tableAlias) { $query->andWhere($tableAlias . ".status = :status")->setParameter('status', 0); return $query; }); $grid = $this->get('grid')->setSource($source); $gridAction = $this->get('grid_action'); $grid->getColumn('status')->manipulateRenderCell(function ($value) { return $this->get('translator')->trans(CommonParams::publisherStatus($value)); }); $rowAction = array(); $saveAction = new RowAction('<i class="fa fa-save"></i>', 'ojs_admin_application_publisher_save'); $saveAction->setRouteParameters(['id']); $saveAction->setAttributes(['class' => 'btn btn-primary btn-xs', 'title' => $this->get('translator')->trans('institute.merge_as_new_institute')]); $rowAction[] = $saveAction; $rowAction[] = $gridAction->showAction('ojs_admin_application_publisher_show', 'id'); $rowAction[] = $gridAction->editAction('ojs_admin_application_publisher_edit', 'id'); $rowAction[] = $gridAction->deleteAction('ojs_admin_application_publisher_delete', 'id'); $actionColumn = new ActionsColumn("actions", 'actions'); $actionColumn->setRowActions($rowAction); $grid->addColumn($actionColumn); $data['grid'] = $grid; return $grid->getGridResponse('OjsAdminBundle:AdminApplication:publisher.html.twig', $data); }