Ojs\AdminBundle\Controller\AdminJournalController::indexAction PHP Method

indexAction() public method

public indexAction ( Request $request ) : Response
$request Symfony\Component\HttpFoundation\Request
return Symfony\Component\HttpFoundation\Response
    public function indexAction(Request $request)
    {
        $router = $this->get('router');
        $source = new Entity('OjsJournalBundle:Journal');
        $source->manipulateRow(function (Row $row) use($request, $router) {
            /* @var Journal $entity */
            $entity = $row->getEntity();
            if (!is_null($entity)) {
                $journalLinkTemplate = $entity->getTitleTranslations();
                if ($entity->isIndexable() && $entity->getPublisher() !== null) {
                    $generateJournalLink = $router->generate('ojs_journal_index', ['slug' => $entity->getSlug()]);
                    $journalLinkTemplate = '<a target="_blank" href="' . $generateJournalLink . '">' . $entity->getTitleTranslations() . '</a>';
                }
                $row->setField('translations.title:translation_agg', $journalLinkTemplate);
            }
            return $row;
        });
        $grid = $this->get('grid')->setSource($source);
        $gridAction = $this->get('grid_action');
        $actionColumn = new ActionsColumn("actions", 'actions');
        $rowAction[] = $gridAction->showAction('ojs_admin_journal_show', 'id');
        $rowAction[] = $gridAction->editAction('ojs_admin_journal_edit', 'id');
        $rowAction[] = $gridAction->contactsAction('ojs_journal_journal_contact_index');
        $rowAction[] = (new RowAction('Manage', 'ojs_journal_dashboard_index'))->setRouteParameters('id')->setRouteParametersMapping(array('id' => 'journalId'))->setAttributes(array('class' => 'btn btn-success btn-xs', 'data-toggle' => 'tooltip', 'title' => "Manage"));
        $actionColumn->setRowActions($rowAction);
        $grid->addColumn($actionColumn);
        $data = [];
        $data['grid'] = $grid;
        return $grid->getGridResponse('OjsAdminBundle:AdminJournal:index.html.twig', $data);
    }