Ojs\JournalBundle\Controller\IssueFileController::indexAction PHP Метод

indexAction() публичный Метод

public indexAction ( Request $request, $issueId )
$request Symfony\Component\HttpFoundation\Request
    public function indexAction(Request $request, $issueId)
    {
        $journal = $this->get('ojs.journal_service')->getSelectedJournal();
        $em = $this->getDoctrine()->getManager();
        $this->throw404IfNotFound($journal);
        if (!$this->isGranted('VIEW', $journal, 'issues')) {
            throw new AccessDeniedException("You not authorized for this page!");
        }
        $source = new Entity('OjsJournalBundle:IssueFile');
        $source->manipulateRow(function (Row $row) use($request) {
            /* @var IssueFile $entity */
            $entity = $row->getEntity();
            $entity->setDefaultLocale($request->getDefaultLocale());
            if (!is_null($entity)) {
                $row->setField('title', $entity->getTitle());
                $row->setField('description', $entity->getDescription());
            }
            return $row;
        });
        /** @var Issue $issue */
        $issue = $em->getRepository('OjsJournalBundle:Issue')->find($issueId);
        $this->throw404IfNotFound($issue);
        $alias = $source->getTableAlias();
        $source->manipulateQuery(function (QueryBuilder $query) use($alias, $issue) {
            $query->andWhere($alias . '.issue = :issue')->setParameter('issue', $issue);
        });
        $grid = $this->get('grid')->setSource($source);
        $gridAction = $this->get('grid_action');
        $actionColumn = new ActionsColumn("actions", 'actions');
        $rowAction[] = $gridAction->showAction('ojs_journal_issue_file_show', ['id', 'journalId' => $journal->getId(), 'issueId' => $issueId]);
        $rowAction[] = $gridAction->editAction('ojs_journal_issue_file_edit', ['id', 'journalId' => $journal->getId(), 'issueId' => $issueId]);
        $rowAction[] = $gridAction->deleteAction('ojs_journal_issue_file_delete', ['id', 'journalId' => $journal->getId(), 'issueId' => $issueId]);
        $actionColumn->setRowActions($rowAction);
        $grid->addColumn($actionColumn);
        $data = [];
        $data['grid'] = $grid;
        $data['issue'] = $issue;
        return $grid->getGridResponse('OjsJournalBundle:IssueFile:index.html.twig', $data);
    }