/**
  * @copydoc PKPHandler::initialize()
  */
 function initialize($request)
 {
     parent::initialize($request);
     $press = $request->getPress();
     $this->_pressId = $press->getId();
     AppLocale::requireComponents(LOCALE_COMPONENT_APP_MANAGER);
     // Set the grid title.
     $this->setTitle('grid.category.categories');
     // Add grid-level actions.
     $router = $request->getRouter();
     $this->addAction(new LinkAction('addCategory', new AjaxModal($router->url($request, null, null, 'addCategory'), __('grid.category.add'), 'modal_manage'), __('grid.category.add'), 'add_category'));
     // Add grid columns.
     $cellProvider = new DataObjectGridCellProvider();
     $cellProvider->setLocale(AppLocale::getLocale());
     $this->addColumn(new GridColumn('title', 'grid.category.name', null, null, $cellProvider));
 }
 /**
  * @see GridCellProvider::getTemplateVarsFromRowColumn()
  */
 function getTemplateVarsFromRowColumn(&$row, $column)
 {
     $templateVars = parent::getTemplateVarsFromRowColumn($row, $column);
     $element =& $row->getData();
     assert(is_a($element, 'Citation'));
     $templateVars['isApproved'] = $element->getCitationState() == CITATION_APPROVED ? true : false;
     $templateVars['isCurrentItem'] = $row->getIsCurrentItem();
     $templateVars['citationSeq'] = $element->getSeq();
     return $templateVars;
 }
Esempio n. 3
0
 function initialize($request)
 {
     parent::initialize($request);
     // Load language components
     AppLocale::requireComponents(LOCALE_COMPONENT_APP_MANAGER, LOCALE_COMPONENT_APP_EDITOR, LOCALE_COMPONENT_PKP_COMMON, LOCALE_COMPONENT_PKP_USER, LOCALE_COMPONENT_APP_COMMON, LOCALE_COMPONENT_PKP_GRID, LOCALE_COMPONENT_APP_SUBMISSION, LOCALE_COMPONENT_PKP_SUBMISSION, LOCALE_COMPONENT_PKP_MANAGER, LOCALE_COMPONENT_APP_DEFAULT);
     // Set the grid title.
     $this->setTitle('grid.genres.title');
     // Add grid-level actions
     $router = $request->getRouter();
     $actionArgs = array('gridId' => $this->getId());
     import('lib.pkp.classes.linkAction.request.AjaxModal');
     $this->addAction(new LinkAction('addGenre', new AjaxModal($router->url($request, null, null, 'addGenre', null, $actionArgs), __('grid.action.addGenre'), 'modal_add_item', true), __('grid.action.addGenre'), 'add_item'));
     import('lib.pkp.classes.linkAction.request.RemoteActionConfirmationModal');
     $this->addAction(new LinkAction('restoreGenres', new RemoteActionConfirmationModal(__('grid.action.restoreDefaults.confirm'), null, $router->url($request, null, null, 'restoreGenres', null, $actionArgs), 'modal_delete'), __('grid.action.restoreDefaults'), 'reset_default'));
     // Columns
     $cellProvider = new DataObjectGridCellProvider();
     $cellProvider->setLocale(AppLocale::getLocale());
     $this->addColumn(new GridColumn('name', 'common.name', null, null, $cellProvider, array('width' => 90)));
     $this->addColumn(new GridColumn('designation', 'common.designation', null, null, $cellProvider));
 }
 /**
  * Get cell actions associated with this row/column combination
  * @param $row GridRow
  * @param $column GridColumn
  * @return array an array of LegacyLinkAction instances
  */
 function getCellActions(&$request, &$row, &$column, $position = GRID_ACTION_POSITION_DEFAULT)
 {
     if ($column->getId() == 'files') {
         $monographFile =& $row->getData();
         $router =& $request->getRouter();
         $actionArgs = array('gridId' => $row->getGridId(), 'monographId' => $monographFile->getMonographId(), 'fileId' => $monographFile->getFileId());
         $action =& new LegacyLinkAction('downloadFile', LINK_ACTION_MODE_LINK, LINK_ACTION_TYPE_NOTHING, $router->url($request, null, null, 'downloadFile', null, $actionArgs), null, $monographFile->getOriginalFileName());
         return array($action);
     }
     return parent::getCellActions($request, $row, $column, $position);
 }
 function getCellActions($request, $row, $column, $position = GRID_ACTION_POSITION_ROW_CLICK)
 {
     $submissionFile = $row->getData();
     $router = $request->getRouter();
     switch ($column->getId()) {
         case 'name':
             $dispatcher = $request->getDispatcher();
             return array(new LinkAction('editSubmissionFile', new AjaxModal($router->url($request, null, null, 'editSubmissionFile', null, array('submissionFileId' => $submissionFile->getFileId(), 'submissionId' => $this->_submissionId)), __('grid.action.edit'), 'modal_edit', true), __('plugins.generic.vgWort.grid.action.edit'), 'edit'));
         default:
             return parent::getCellActions($request, $row, $column, $position);
     }
 }
Esempio n. 6
0
 function initialize(&$request)
 {
     parent::initialize($request);
     // Load language components
     Locale::requireComponents(array(LOCALE_COMPONENT_OMP_MANAGER, LOCALE_COMPONENT_OMP_EDITOR, LOCALE_COMPONENT_PKP_COMMON, LOCALE_COMPONENT_PKP_USER, LOCALE_COMPONENT_APPLICATION_COMMON, LOCALE_COMPONENT_PKP_GRID));
     // Basic grid configuration
     $this->setTitle('manager.setup.genres');
     $press =& $request->getPress();
     // Elements to be displayed in the grid
     $genreDao =& DAORegistry::getDAO('GenreDAO');
     $genres =& $genreDao->getEnabledByPressId($press->getId());
     $this->setData($genres);
     // Add grid-level actions
     $router =& $request->getRouter();
     $actionArgs = array('gridId' => $this->getId());
     $this->addAction(new LegacyLinkAction('addGenre', LINK_ACTION_MODE_MODAL, LINK_ACTION_TYPE_APPEND, $router->url($request, null, null, 'addGenre', null, $actionArgs), 'grid.action.addItem'), GRID_ACTION_POSITION_ABOVE);
     $this->addAction(new LegacyLinkAction('restoreGenres', LINK_ACTION_MODE_CONFIRM, LINK_ACTION_TYPE_REPLACE, $router->url($request, null, null, 'restoreGenres', null, $actionArgs), 'grid.action.restoreDefaults'), GRID_ACTION_POSITION_ABOVE);
     // Columns
     $cellProvider = new DataObjectGridCellProvider();
     $cellProvider->setLocale(Locale::getLocale());
     $this->addColumn(new GridColumn('name', 'common.name', null, 'controllers/grid/gridCell.tpl', $cellProvider));
     $this->addColumn(new GridColumn('designation', 'common.designation', null, 'controllers/grid/gridCell.tpl', $cellProvider));
 }
 /**
  * @copydoc GridCellProvider::getCellActions()
  */
 function getCellActions($request, $row, $column)
 {
     switch ($column->getId()) {
         case 'label':
             $element = $row->getData();
             if ($element->getRemoteUrl() != '' || !$element->getFileId()) {
                 break;
             }
             $submissionFileDao = DAORegistry::getDAO('SubmissionFileDAO');
             import('lib.pkp.classes.submission.SubmissionFile');
             $submissionFile = $submissionFileDao->getLatestRevision($element->getFileId(), null, $element->getSubmissionId());
             import('lib.pkp.controllers.api.file.linkAction.DownloadFileLinkAction');
             return array(new DownloadFileLinkAction($request, $submissionFile, $request->getUserVar('stageId'), $element->getLabel()));
     }
     return parent::getCellActions($request, $row, $column);
 }
 /**
  * @copydoc GridCellProvider::getCellActions()
  */
 function getCellActions($request, $row, $column)
 {
     switch ($column->getId()) {
         case 'contents':
             $element = $row->getData();
             $submissionFileDao = DAORegistry::getDAO('SubmissionFileDAO');
             import('lib.pkp.classes.submission.SubmissionFile');
             $submissionFiles = $submissionFileDao->getLatestRevisionsByAssocId(ASSOC_TYPE_NOTE, $element->getId(), $this->_submission->getId(), SUBMISSION_FILE_QUERY);
             import('lib.pkp.controllers.api.file.linkAction.DownloadFileLinkAction');
             $actions = array();
             foreach ($submissionFiles as $submissionFile) {
                 $actions[] = new DownloadFileLinkAction($request, $submissionFile, $request->getUserVar('stageId'));
             }
             return $actions;
     }
     return parent::getCellActions($request, $row, $column);
 }
 /**
  * Get cell actions associated with this row/column combination
  * @param $row GridRow
  * @param $column GridColumn
  * @return array an array of LinkAction instances
  */
 function getCellActions($request, $row, $column, $position = GRID_ACTION_POSITION_DEFAULT)
 {
     if ($column->getId() == 'title') {
         $submission = $row->getData();
         if (is_a($submission, 'ReviewerSubmission')) {
             // Reviewer: Add a review link action.
             return array($this->_getCellLinkAction($request, 'reviewer', 'submission', $submission));
         } else {
             // Get the right page and operation (authordashboard or workflow).
             list($page, $operation) = SubmissionsListGridCellProvider::getPageAndOperationByUserRoles($request, $submission);
             // Return redirect link action.
             return array($this->_getCellLinkAction($request, $page, $operation, $submission));
         }
         // This should be unreachable code.
         assert(false);
     }
     return parent::getCellActions($request, $row, $column, $position);
 }
 /**
  * @copydoc GridCellProvider::getCellActions()
  */
 function getCellActions($request, $row, $column, $position = GRID_ACTION_POSITION_DEFAULT)
 {
     switch ($column->getId()) {
         case 'enabled':
             $element = $row->getData();
             /* @var $element DataObject */
             $router = $request->getRouter();
             import('lib.pkp.classes.linkAction.LinkAction');
             if ($element->getCanDisable()) {
                 if ($element->getEnabled()) {
                     return array(new LinkAction('disableEmail', new RemoteActionConfirmationModal($request->getSession(), __('manager.emails.disable.message'), null, $router->url($request, null, 'grid.settings.preparedEmails.PreparedEmailsGridHandler', 'disableEmail', null, array('emailKey' => $element->getEmailKey()))), __('manager.emails.disable'), 'disable'));
                 } else {
                     return array(new LinkAction('enableEmail', new RemoteActionConfirmationModal($request->getSession(), __('manager.emails.enable.message'), null, $router->url($request, null, 'grid.settings.preparedEmails.PreparedEmailsGridHandler', 'enableEmail', null, array('emailKey' => $element->getEmailKey()))), __('manager.emails.enable'), 'enable'));
                 }
             }
     }
     return parent::getCellActions($request, $row, $column, $position);
 }
 /**
  * Get cell actions associated with this row/column combination
  * @param $row GridRow
  * @param $column GridColumn
  * @return array an array of LegacyLinkAction instances
  */
 function getCellActions(&$request, &$row, &$column, $position = GRID_ACTION_POSITION_DEFAULT)
 {
     if ($column->getId() == 'title') {
         $monograph =& $row->getData();
         $router =& $request->getRouter();
         $dispatcher =& $router->getDispatcher();
         $title = $monograph->getLocalizedTitle();
         if (empty($title)) {
             $title = Locale::translate('common.untitled');
         }
         $pressId = $monograph->getPressId();
         $pressDao = DAORegistry::getDAO('PressDAO');
         $press = $pressDao->getPress($pressId);
         $action = new LegacyLinkAction('details', LINK_ACTION_MODE_LINK, LINK_ACTION_TYPE_NOTHING, $dispatcher->url($request, ROUTE_PAGE, $press->getPath(), 'workflow', 'submission', $monograph->getId()), null, $title);
         return array($action);
     }
     return parent::getCellActions($request, $row, $column, $position);
 }
 /**
  * Extracts variables for a given column from a data element
  * so that they may be assigned to template before rendering.
  * @param $row GridRow
  * @param $column GridColumn
  * @return array
  */
 function getTemplateVarsFromRowColumn($row, $column)
 {
     $element = $row->getData();
     $columnId = $column->getId();
     assert(is_a($element, 'DataObject') && !empty($columnId));
     switch ($columnId) {
         case 'name':
             return array('label' => $element->getFullName());
         case 'role':
             return array('label' => $element->getLocalizedUserGroupName());
         case 'email':
             return parent::getTemplateVarsFromRowColumn($row, $column);
         case 'principalContact':
             return array('isPrincipalContact' => $element->getPrimaryContact());
         case 'includeInBrowse':
             return array('includeInBrowse' => $element->getIncludeInBrowse());
     }
 }
 /**
  * @copydoc GridCellProvider::getCellActions()
  */
 function getCellActions($request, $row, $column)
 {
     switch ($column->getId()) {
         case 'label':
             $element = $row->getData();
             if ($element->getRemoteUrl() != '' || !$element->getFileId()) {
                 break;
             }
             $submissionFileDao = DAORegistry::getDAO('SubmissionFileDAO');
             import('lib.pkp.classes.submission.SubmissionFile');
             $submissionFiles = $submissionFileDao->getLatestRevisionsByAssocId(ASSOC_TYPE_REPRESENTATION, $element->getId(), $this->_submission->getId(), SUBMISSION_FILE_PROOF);
             import('lib.pkp.controllers.api.file.linkAction.DownloadFileLinkAction');
             $actions = array();
             foreach ($submissionFiles as $submissionFile) {
                 $actions[] = new DownloadFileLinkAction($request, $submissionFile, $request->getUserVar('stageId'), $element->getLabel());
             }
             return $actions;
     }
     return parent::getCellActions($request, $row, $column);
 }
 /**
  * Get cell actions associated with this row/column combination
  *
  * @copydoc GridCellProvider::getCellActions()
  */
 function getCellActions($request, $row, $column, $position = GRID_ACTION_POSITION_DEFAULT)
 {
     $publishedSubmissionGalley = $row->getData();
     $columnId = $column->getId();
     assert(is_a($publishedSubmissionGalley, 'ArticleGalley') && !empty($columnId));
     $publishedArticleDao = DAORegistry::getDAO('PublishedArticleDAO');
     $publishedSubmission = $publishedArticleDao->getPublishedArticleByArticleId($publishedSubmissionGalley->getSubmissionId());
     import('lib.pkp.classes.linkAction.request.RedirectAction');
     switch ($columnId) {
         case 'title':
             $this->_titleColumn = $column;
             $title = $publishedSubmission->getLocalizedTitle();
             if (empty($title)) {
                 $title = __('common.untitled');
             }
             $authorsInTitle = $publishedSubmission->getShortAuthorString();
             $title = $authorsInTitle . '; ' . $title;
             import('lib.pkp.controllers.grid.submissions.SubmissionsListGridCellProvider');
             return array(new LinkAction('itemWorkflow', new RedirectAction(SubmissionsListGridCellProvider::getUrlByUserRoles($request, $publishedSubmission)), $title));
         case 'issue':
             $contextId = $publishedSubmission->getContextId();
             $issueId = $publishedSubmission->getIssueId();
             $issueDao = DAORegistry::getDAO('IssueDAO');
             $issue = $issueDao->getById($issueId, $contextId);
             // Link to the issue edit modal
             $application = PKPApplication::getApplication();
             $dispatcher = $application->getDispatcher();
             import('lib.pkp.classes.linkAction.request.AjaxModal');
             return array(new LinkAction('edit', new AjaxModal($dispatcher->url($request, ROUTE_COMPONENT, null, 'grid.issues.BackIssueGridHandler', 'editIssue', null, array('issueId' => $issue->getId())), __('plugins.importexport.common.settings.DOIPluginSettings')), $issue->getIssueIdentification(), null));
         case 'status':
             $status = $publishedSubmissionGalley->getData($this->_plugin->getDepositStatusSettingName());
             $statusNames = $this->_plugin->getStatusNames();
             $statusActions = $this->_plugin->getStatusActions($publishedSubmission);
             if ($status && array_key_exists($status, $statusActions)) {
                 assert(array_key_exists($status, $statusNames));
                 return array(new LinkAction('edit', new RedirectAction($statusActions[$status], '_blank'), $statusNames[$status]));
             }
     }
     return parent::getCellActions($request, $row, $column, $position);
 }
 /**
  * Get cell actions associated with this row/column combination
  * @param $row GridRow
  * @param $column GridColumn
  * @return array an array of LegacyLinkAction instances
  */
 function getCellActions(&$request, &$row, &$column, $position = GRID_ACTION_POSITION_DEFAULT)
 {
     if ($column->getId() == 'name') {
         $monographFile =& $row->getData();
         $router =& $request->getRouter();
         $dispatcher =& $router->getDispatcher();
         $fileName = $monographFile->getLocalizedName() != '' ? $monographFile->getLocalizedName() : Locale::translate('common.untitled');
         if ($monographFile->getRevision() > 1) {
             $fileName .= ' (' . $monographFile->getRevision() . ')';
         }
         // Add revision number to label
         if (empty($fileName)) {
             $fileName = Locale::translate('common.untitled');
         }
         $actionArgs = array('monographId' => $monographFile->getMonographId(), 'fileId' => $monographFile->getFileId());
         $genreDao =& DAORegistry::getDAO('GenreDAO');
         $genre = $genreDao->getById($monographFile->getGenreId());
         $action =& new LegacyLinkAction('downloadFile', LINK_ACTION_MODE_LINK, LINK_ACTION_TYPE_NOTHING, $router->url($request, null, null, 'downloadFile', null, $actionArgs), null, $fileName, $genre->getCategory() == GENRE_CATEGORY_ARTWORK ? 'imageFile' : null);
         return array($action);
     }
     return parent::getCellActions($request, $row, $column, $position);
 }
 /**
  * Get cell actions associated with this row/column combination
  *
  * @copydoc GridCellProvider::getCellActions()
  */
 function getCellActions($request, $row, $column, $position = GRID_ACTION_POSITION_DEFAULT)
 {
     $publishedIssue = $row->getData();
     $columnId = $column->getId();
     assert(is_a($publishedIssue, 'Issue') && !empty($columnId));
     switch ($columnId) {
         case 'identification':
             // Link to the issue edit modal
             $application = PKPApplication::getApplication();
             $dispatcher = $application->getDispatcher();
             import('lib.pkp.classes.linkAction.request.AjaxModal');
             return array(new LinkAction('edit', new AjaxModal($dispatcher->url($request, ROUTE_COMPONENT, null, 'grid.issues.BackIssueGridHandler', 'editIssue', null, array('issueId' => $publishedIssue->getId())), __('plugins.importexport.common.settings.DOIPluginSettings')), $publishedIssue->getIssueIdentification(), null));
         case 'status':
             $status = $publishedIssue->getData($this->_plugin->getDepositStatusSettingName());
             $statusNames = $this->_plugin->getStatusNames();
             $statusActions = $this->_plugin->getStatusActions($publishedIssue);
             if ($status && array_key_exists($status, $statusActions)) {
                 assert(array_key_exists($status, $statusNames));
                 import('lib.pkp.classes.linkAction.request.RedirectAction');
                 return array(new LinkAction('edit', new RedirectAction($statusActions[$status], '_blank'), $statusNames[$status]));
             }
     }
     return parent::getCellActions($request, $row, $column, $position);
 }
 /**
  * Constructor
  */
 function SalesRightsGridCellProvider()
 {
     parent::DataObjectGridCellProvider();
 }
 /**
  * Constructor
  */
 function IdentificationCodeGridCellProvider()
 {
     parent::DataObjectGridCellProvider();
 }
 /**
  * Extracts variables for a given column from a data element
  * so that they may be assigned to template before rendering.
  * @param $row GridRow
  * @param $column GridColumn
  * @return array
  */
 function getTemplateVarsFromRowColumn(&$row, $column)
 {
     $element =& $row->getData();
     $columnId = $column->getId();
     assert(is_a($element, 'DataObject') && !empty($columnId));
     switch ($columnId) {
         case 'name':
             if ($this->getCellState($row, $column) != 'linkReview') {
                 return array('label' => $element->getReviewerFullName());
             }
         case is_numeric($columnId):
         case 'reviewer':
             return array('status' => $this->getCellState($row, $column));
     }
     return parent::getTemplateVarsFromRowColumn($row, $column);
 }
 /**
  * Constructor
  */
 function __construct()
 {
     parent::__construct();
 }
 /**
  * Constructor
  */
 function EventLogGridCellProvider()
 {
     parent::DataObjectGridCellProvider();
 }
 /**
  * Constructor
  * @param $monographId int
  * @param $inCatalogEntryModal boolean Tells if grid is loaded inside
  * catalog entry modal.
  */
 function PublicationFormatGridCellProvider($monographId, $inCatalogEntryModal)
 {
     parent::DataObjectGridCellProvider();
     $this->_monographId = $monographId;
     $this->_inCatalogEntryModal = $inCatalogEntryModal;
 }
 /**
  * Constructor
  */
 function StageParticipantGridCellProvider()
 {
     parent::DataObjectGridCellProvider();
 }
 /**
  * Constructor
  */
 function SubmissionParticipantGridCellProvider()
 {
     parent::DataObjectGridCellProvider();
 }
 /**
  * Constructor
  */
 function AddThisStatisticsGridCellProvider()
 {
     parent::DataObjectGridCellProvider();
 }
 /**
  * Constructor
  */
 function ReviewerSelectGridCellProvider()
 {
     parent::DataObjectGridCellProvider();
 }
 /**
  * @see GridCellProvider::getCellActions()
  */
 function getCellActions($request, $row, $column)
 {
     $data = $row->getData();
     $router = $request->getRouter();
     if (is_a($data, 'Representation')) {
         switch ($column->getId()) {
             case 'name':
                 // if it is a remotely hosted content, don't provide
                 // file upload and select link actions
                 $remoteURL = $data->getRemoteURL();
                 if ($remoteURL) {
                     return array();
                 }
                 import('lib.pkp.controllers.api.file.linkAction.AddFileLinkAction');
                 import('lib.pkp.controllers.grid.files.fileList.linkAction.SelectFilesLinkAction');
                 AppLocale::requireComponents(LOCALE_COMPONENT_PKP_EDITOR);
                 return array(new AddFileLinkAction($request, $data->getSubmissionId(), WORKFLOW_STAGE_ID_PRODUCTION, array(ROLE_ID_MANAGER, ROLE_ID_SUB_EDITOR, ROLE_ID_ASSISTANT), null, SUBMISSION_FILE_PROOF, ASSOC_TYPE_REPRESENTATION, $data->getId()), new SelectFilesLinkAction($request, array('submissionId' => $data->getSubmissionId(), 'assocType' => ASSOC_TYPE_REPRESENTATION, 'assocId' => $data->getId(), 'representationId' => $data->getId(), 'stageId' => WORKFLOW_STAGE_ID_PRODUCTION, 'fileStage' => SUBMISSION_FILE_PROOF), __('editor.submission.selectFiles')));
             case 'isComplete':
                 return array(new LinkAction('approveRepresentation', new RemoteActionConfirmationModal(__($data->getIsApproved() ? 'grid.catalogEntry.approvedRepresentation.removeMessage' : 'grid.catalogEntry.approvedRepresentation.message'), __('grid.catalogEntry.approvedRepresentation.title'), $router->url($request, null, null, 'setApproved', null, array('representationId' => $data->getId(), 'newApprovedState' => $data->getIsApproved() ? 0 : 1, 'submissionId' => $data->getSubmissionId())), 'modal_approve'), $data->getIsApproved() ? __('submission.complete') : __('submission.incomplete'), $data->getIsApproved() ? 'complete' : 'incomplete', __('grid.action.setApproval')));
         }
     } else {
         assert(is_array($data) && isset($data['submissionFile']));
         $submissionFile = $data['submissionFile'];
         switch ($column->getId()) {
             case 'name':
                 import('lib.pkp.controllers.grid.files.FileNameGridColumn');
                 $fileNameColumn = new FileNameGridColumn(true, WORKFLOW_STAGE_ID_PRODUCTION, true);
                 return $fileNameColumn->getCellActions($request, $row);
             case 'isComplete':
                 AppLocale::requireComponents(LOCALE_COMPONENT_PKP_EDITOR);
                 import('lib.pkp.classes.linkAction.request.AjaxAction');
                 return array(new LinkAction($submissionFile->getViewable() ? 'approved' : 'not_approved', new RemoteActionConfirmationModal(__($submissionFile->getViewable() ? 'editor.submission.proofreading.confirmRemoveCompletion' : 'editor.submission.proofreading.confirmCompletion'), __($submissionFile->getViewable() ? 'editor.submission.proofreading.revokeProofApproval' : 'editor.submission.proofreading.approveProof'), $router->url($request, null, null, 'setProofFileCompletion', null, array('submissionId' => $submissionFile->getSubmissionId(), 'fileId' => $submissionFile->getFileId(), 'revision' => $submissionFile->getRevision(), 'approval' => !$submissionFile->getViewable())), 'modal_approve'), $submissionFile->getViewable() ? __('grid.catalogEntry.availableRepresentation.approved') : __('grid.catalogEntry.availableRepresentation.notApproved')));
         }
     }
     return parent::getCellActions($request, $row, $column);
 }
 /**
  * Constructor
  */
 function UserEnrollmentGridCellProvider($pressId)
 {
     $this->pressId = $pressId;
     parent::DataObjectGridCellProvider();
 }
 /**
  * Constructor
  */
 function MarketsGridCellProvider()
 {
     parent::DataObjectGridCellProvider();
 }
 /**
  * Get cell actions associated with this row/column combination
  * @param $row GridRow
  * @param $column GridColumn
  * @return array an array of LinkAction instances
  */
 function getCellActions($request, $row, $column, $position = GRID_ACTION_POSITION_DEFAULT)
 {
     $submission = $row->getData();
     $user = $request->getUser();
     switch ($column->getId()) {
         case 'editor':
             $stageAssignmentDao = DAORegistry::getDAO('StageAssignmentDAO');
             /* @var $stageAssignmentDao StageAssignmentDAO */
             $editorAssignments = $stageAssignmentDao->getEditorsAssignedToStage($submission->getId(), $submission->getStageId());
             $assignment = current($editorAssignments);
             if (!$assignment) {
                 return array();
             }
             $userDao = DAORegistry::getDAO('UserDAO');
             /* @var $userDao UserDAO */
             $editor = $userDao->getById($assignment->getUserId());
             import('lib.pkp.classes.linkAction.request.NullAction');
             return array(new LinkAction('editor', new NullAction(), $editor->getInitials(), null, $editor->getFullName()));
         case 'stage':
             $stageId = $submission->getStageId();
             $stage = null;
             if ($submission->getSubmissionProgress() > 0) {
                 // Submission process not completed.
                 $stage = __('submissions.incomplete');
             }
             switch ($submission->getStatus()) {
                 case STATUS_DECLINED:
                     $stage = __('submission.status.declined');
                     break;
                 case STATUS_PUBLISHED:
                     $stage = __('submission.status.published');
                     break;
             }
             if (!$stage) {
                 $stage = __(WorkflowStageDAO::getTranslationKeyFromId($stageId));
             }
             import('lib.pkp.classes.linkAction.request.RedirectAction');
             $reviewAssignmentDao = DAORegistry::getDAO('ReviewAssignmentDAO');
             $reviewAssignment = $reviewAssignmentDao->getLastReviewRoundReviewAssignmentByReviewer($submission->getId(), $user->getId());
             if (is_a($reviewAssignment, 'ReviewAssignment') && $reviewAssignment->getStageId() == $stageId) {
                 return array(new LinkAction('itemWorkflow', new RedirectAction($request->getDispatcher()->url($request, ROUTE_PAGE, null, 'reviewer', 'submission', $submission->getId())), $stage));
             }
             return array(new LinkAction('itemWorkflow', new RedirectAction(SubmissionsListGridCellProvider::getUrlByUserRoles($request, $submission)), $stage));
     }
     return parent::getCellActions($request, $row, $column, $position);
 }