コード例 #1
0
 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);
 }