public function journalBoardAction($slug, $isJournalHosting = false)
{
/**
* @var Journal $journal
* @var EntityManager $em
* @var BlockRepository $blockRepo
*/
$em = $this->getDoctrine()->getManager();
$blockRepo = $em->getRepository('OjsJournalBundle:Block');
$journal = $em->getRepository('OjsJournalBundle:Journal')->findOneBy(['slug' => $slug]);
$boards = $journal->getBoards();
$this->throw404IfNotFound($journal);
if ($journal->getStatus() !== JournalStatuses::STATUS_PUBLISHED || $journal->getPublisher()->getStatus() !== PublisherStatuses::STATUS_COMPLETE) {
$journal = null;
$this->throw404IfNotFound($journal);
}
$boardMembers = [];
foreach ($boards as $board) {
$boardMembers[$board->getId()] = $em->getRepository(BoardMember::class)->findBy(['board' => $board], ['seq' => 'ASC']);
}
$data = ['journal' => $journal, 'isJournalHosting' => $isJournalHosting, 'page' => 'journal', 'board' => $boards, 'board_members' => $boardMembers, 'blocks' => $blockRepo->journalBlocks($journal)];
return $this->render('OjsSiteBundle::Journal/journal_board.html.twig', $data);
}