getData(); $columnId = $column->getId(); assert(!empty($columnId)); switch ($columnId) { case 'title': return ['label' => $element->getLocalizedTitle()]; case 'access': return ['selected' => $element->getCurrentPublication()->getData('accessStatus') == Submission::ARTICLE_ACCESS_OPEN]; default: assert(false); } } /** * @copydoc GridCellProvider::getCellActions() */ public function getCellActions($request, $row, $column, $position = GridHandler::GRID_ACTION_POSITION_DEFAULT) { switch ($column->getId()) { case 'access': $article = $row->getData(); /** @var Submission $article */ return [new LinkAction( 'disable', new AjaxAction( $request->url( null, null, 'setAccessStatus', null, array_merge( [ 'articleId' => $article->getId(), 'status' => ($article->getCurrentPublication()->getData('accessStatus') == Submission::ARTICLE_ACCESS_OPEN) ? Submission::ARTICLE_ACCESS_ISSUE_DEFAULT : Submission::ARTICLE_ACCESS_OPEN, 'csrfToken' => $request->getSession()->getCSRFToken(), ], $row->getRequestArgs() ) ) ), __('manager.plugins.disable'), null )]; } return parent::getCellActions($request, $row, $column, $position); } }