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(Publisher::$statuses[$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);
}