Ojs\JournalBundle\Controller\IssueController::indexAction PHP Méthode

indexAction() public méthode

Lists all Issue entities.
public indexAction ( Request $request ) : Response
$request Symfony\Component\HttpFoundation\Request
Résultat Symfony\Component\HttpFoundation\Response
    public function indexAction(Request $request)
    {
        $journal = $this->get('ojs.journal_service')->getSelectedJournal();
        $eventDispatcher = $this->get('event_dispatcher');
        if (!$this->isGranted('VIEW', $journal, 'issues')) {
            throw new AccessDeniedException("You not authorized for this page!");
        }
        $source = new Entity('OjsJournalBundle:Issue');
        $grid = $this->get('grid')->setSource($source);
        $gridAction = $this->get('grid_action');
        $actionColumn = new ActionsColumn("actions", 'actions');
        $rowAction[] = $gridAction->showAction('ojs_journal_issue_show', ['id', 'journalId' => $journal->getId()]);
        $articleAction = new RowAction('<i class="fa fa-file-text"></i>', 'ojs_journal_issue_view');
        $articleAction->setRouteParameters(['journalId' => $journal->getId(), 'id']);
        $articleAction->setAttributes(['class' => 'btn btn-success btn-xs  ', 'data-toggle' => 'tooltip', 'title' => $this->get('translator')->trans("Articles")]);
        $rowAction[] = $articleAction;
        $lastIssueAction = new RowAction('<i class="fa fa-cog"></i>', 'ojs_journal_issue_make_last');
        $lastIssueAction->setRouteParameters(['journalId' => $journal->getId(), 'id']);
        $lastIssueAction->setAttributes(['class' => 'btn btn-success btn-xs  ', 'data-toggle' => 'tooltip', 'title' => $this->get('translator')->trans("make.last.issue")]);
        $rowAction[] = $lastIssueAction;
        if ($this->isGranted('EDIT', $journal, 'issues')) {
            $rowAction[] = $gridAction->editAction('ojs_journal_issue_edit', ['id', 'journalId' => $journal->getId()]);
        }
        if ($this->isGranted('DELETE', $journal, 'issues')) {
            $rowAction[] = $gridAction->deleteAction('ojs_journal_issue_delete', ['id', 'journalId' => $journal->getId()]);
        }
        $rowAction[] = $gridAction->filesAction('ojs_journal_issue_file_index', ['journalId' => $journal->getId(), 'id']);
        $actionColumn->setRowActions($rowAction);
        $grid->addColumn($actionColumn);
        $listEvent = new ListEvent();
        $listEvent->setGrid($grid);
        $eventDispatcher->dispatch(IssueEvents::LISTED, $listEvent);
        $grid = $listEvent->getGrid();
        return $grid->getGridResponse('OjsJournalBundle:Issue:index.html.twig');
    }