public function indexAction($articleId)
{
$journal = $this->get('ojs.journal_service')->getSelectedJournal();
$article = $this->getDoctrine()->getRepository('OjsJournalBundle:Article')->find($articleId);
$this->throw404IfNotFound($article);
if (!$this->isGranted('VIEW', $journal, 'articles')) {
throw new AccessDeniedException("You not authorized for this page!");
}
$source = new Entity('OjsJournalBundle:ArticleFile');
$tableAlias = $source->getTableAlias();
$source->manipulateQuery(function (QueryBuilder $qb) use($article, $tableAlias) {
return $qb->where($tableAlias . '.article = :article')->setParameter('article', $article);
});
$grid = $this->get('grid')->setSource($source);
$gridAction = $this->get('grid_action');
$actionColumn = new ActionsColumn("actions", 'actions');
$rowAction[] = $gridAction->showAction('ojs_journal_article_file_show', ['id', 'journalId' => $journal->getId(), 'articleId' => $articleId]);
$rowAction[] = $gridAction->editAction('ojs_journal_article_file_edit', ['id', 'journalId' => $journal->getId(), 'articleId' => $articleId]);
$rowAction[] = $gridAction->deleteAction('ojs_journal_article_file_delete', ['id', 'journalId' => $journal->getId(), 'articleId' => $articleId]);
$actionColumn->setRowActions($rowAction);
$grid->addColumn($actionColumn);
$data = [];
$data['grid'] = $grid;
$data['article'] = $article;
return $grid->getGridResponse('OjsJournalBundle:ArticleFile:index.html.twig', $data);
}