/**
  * Constructor
  * @param $request Request
  * @param $submissionId int the ID of the submission to present link for
  * to show information about.
  */
 function SubmissionLibraryLinkAction($request, $submissionId)
 {
     $dispatcher = $request->getDispatcher();
     AppLocale::requireComponents(LOCALE_COMPONENT_PKP_EDITOR);
     import('lib.pkp.classes.linkAction.request.AjaxModal');
     parent::LinkAction('editorialHistory', new AjaxModal($dispatcher->url($request, ROUTE_COMPONENT, null, 'modals.documentLibrary.DocumentLibraryHandler', 'documentLibrary', null, array('submissionId' => $submissionId)), __('editor.submissionLibrary'), 'modal_information'), __('editor.submissionLibrary'), 'more_info');
 }
 /**
  * Constructor
  * @param $request Request
  * @param $submissionId integer The submission to expedite.
  */
 function ExpediteSubmissionLinkAction($request, $submissionId)
 {
     $router = $request->getRouter();
     $dispatcher = $router->getDispatcher();
     import('lib.pkp.classes.linkAction.request.AjaxModal');
     parent::LinkAction('expedite', new AjaxModal($dispatcher->url($request, ROUTE_PAGE, null, 'workflow', 'expedite', (int) $submissionId), __('submission.submit.expediteSubmission'), 'modal_information'), __('submission.submit.expediteSubmission'));
 }
Beispiel #3
0
 /**
  * Constructor
  * @param $request Request
  * @param $modalTitle string Title of the modal
  * @param $actionArgs array The action arguments.
  */
 function EmailLinkAction($request, $modalTitle, $actionArgs)
 {
     $router = $request->getRouter();
     // Instantiate the view email modal.
     $ajaxModal = new AjaxModal($router->url($request, null, null, 'viewEmail', null, $actionArgs), $modalTitle, 'modal_email');
     // Configure the link action.
     parent::LinkAction('viewEmail', $ajaxModal, $modalTitle, 'notify');
 }
 /**
  * Constructor
  * @param $request Request
  * @param $signoffId int The signoff id that will
  * be used to get notes from.
  * @param $submissionId int The signoff submission id.
  * @param $stageId int The signoff stage id.
  */
 function ReadSignoffHistoryLinkAction($request, $signoffId, $submissionId, $stageId)
 {
     // Instantiate the redirect action request.
     $dispatcher = $request->getDispatcher();
     import('lib.pkp.classes.linkAction.request.AjaxModal');
     $actionArgs = array('signoffId' => $signoffId, 'submissionId' => $submissionId, 'stageId' => $stageId);
     parent::LinkAction('history', new AjaxModal($dispatcher->url($request, ROUTE_COMPONENT, null, 'informationCenter.SignoffInformationCenterHandler', 'viewSignoffHistory', null, $actionArgs), __('submission.history'), 'modal_information', true), __('submission.history'), 'more_info');
 }
 /**
  * Constructor
  * @param $request Request
  * @param $actionArgs array The action arguments.
  */
 function SendThankYouLinkAction($request, $modalTitle, $actionArgs)
 {
     // Instantiate the send thank you modal.
     $router = $request->getRouter();
     import('lib.pkp.classes.linkAction.request.AjaxModal');
     $ajaxModal = new AjaxModal($router->url($request, null, null, 'editThankReviewer', null, $actionArgs), __($modalTitle), 'modal_email');
     // Configure the link action.
     parent::LinkAction('thankReviewer', $ajaxModal, __('common.accepted'), 'accepted');
 }
 /**
  * Constructor
  * @param $request Request
  */
 function ViewCompetingInterestGuidelinesLinkAction($request)
 {
     $context = $request->getContext();
     // Instantiate the view competing interests modal.
     import('lib.pkp.classes.linkAction.request.ConfirmationModal');
     $viewCompetingInterestsModal = new ConfirmationModal($context->getLocalizedSetting('competingInterests'), __('reviewer.submission.competingInterests'), null, null, false, false);
     // Configure the link action.
     parent::LinkAction('viewCompetingInterestGuidelines', $viewCompetingInterestsModal, __('reviewer.submission.competingInterests'));
 }
 /**
  * Constructor
  * @param $request Request
  */
 function DownloadAllLinkAction(&$request, $actionArgs)
 {
     // Instantiate the redirect action request.
     $router =& $request->getRouter();
     import('lib.pkp.classes.linkAction.request.RedirectAction');
     $redirectRequest = new RedirectAction($router->url($request, null, null, 'downloadAllFiles', null, $actionArgs));
     // Configure the link action.
     parent::LinkAction('downloadAll', $redirectRequest, __('submission.files.downloadAll'), 'getPackage');
 }
 /**
  * Constructor
  * @param $request Request
  * @param $libraryFile LibraryFile the library file to
  *  link to.
  */
 function DownloadLibraryFileLinkAction($request, $libraryFile)
 {
     // Instantiate the redirect action request.
     $router = $request->getRouter();
     import('lib.pkp.classes.linkAction.request.PostAndRedirectAction');
     $redirectRequest = new PostAndRedirectAction($router->url($request, null, 'api.file.FileApiHandler', 'enableLinkAction', null, $this->getActionArgs($libraryFile)), $router->url($request, null, 'api.file.FileApiHandler', 'downloadLibraryFile', null, $this->getActionArgs($libraryFile)));
     // Configure the file link action.
     parent::LinkAction('downloadFile', $redirectRequest, $libraryFile->getLocalizedName(), $libraryFile->getDocumentType());
 }
 /**
  * Constructor
  * @param $request Request
  * @param $submissionId integer
  * @param $reviewAssignmentId integer
  */
 function ReviewerViewMetadataLinkAction($request, $submissionId, $reviewAssignmentId)
 {
     // Instantiate the meta-data modal.
     $dispatcher = $request->getDispatcher();
     import('lib.pkp.classes.linkAction.request.AjaxModal');
     $modal = new AjaxModal($dispatcher->url($request, ROUTE_COMPONENT, null, 'modals.submissionMetadata.ReviewerSubmissionMetadataHandler', 'fetch', null, array('submissionId' => $submissionId, 'reviewAssignmentId' => $reviewAssignmentId)), __('reviewer.step1.viewAllDetails'), 'modal_information');
     // Configure the link action.
     parent::LinkAction('viewMetadata', $modal, __('reviewer.step1.viewAllDetails'));
 }
 /**
  * Constructor
  * @param $request Request
  * @param $stageId int Stage ID of review assignment
  */
 function ViewReviewGuidelinesLinkAction($request, $stageId)
 {
     $context = $request->getContext();
     // Instantiate the view review guidelines confirmation modal.
     import('lib.pkp.classes.linkAction.request.ConfirmationModal');
     $viewGuidelinesModal = new ConfirmationModal($context->getLocalizedSetting($stageId == WORKFLOW_STAGE_ID_EXTERNAL_REVIEW ? 'reviewGuidelines' : 'internalReviewGuidelines'), __('reviewer.submission.guidelines'), null, null, false);
     // Configure the link action.
     parent::LinkAction('viewReviewGuidelines', $viewGuidelinesModal, __('reviewer.submission.guidelines'));
 }
 /**
  * Constructor
  * @param $request Request
  * @param $actionArgs array The action arguments.
  */
 function SendReminderLinkAction($request, $modalTitle, $actionArgs)
 {
     // Instantiate the send review modal.
     $router = $request->getRouter();
     import('lib.pkp.classes.linkAction.request.AjaxModal');
     $ajaxModal = new AjaxModal($router->url($request, null, null, 'editReminder', null, $actionArgs), __($modalTitle), 'review_reminder');
     // Configure the link action.
     parent::LinkAction('sendReminder', $ajaxModal, __('editor.review.sendReminder'), 'overdue');
 }
 /**
  * Constructor
  * @param $request Request
  * @param $monographId integer The submission to show meta-data for.
  */
 function ViewMetadataLinkAction(&$request, $monographId)
 {
     // Instantiate the meta-data modal.
     $dispatcher =& $request->getDispatcher();
     import('lib.pkp.classes.linkAction.request.AjaxModal');
     $modal = new AjaxModal($dispatcher->url($request, ROUTE_COMPONENT, null, 'modals.submissionMetadata.SubmissionDetailsSubmissionMetadataHandler', 'fetch', null, array('monographId' => $monographId)), __('submission.viewMetadata'));
     // Configure the link action.
     parent::LinkAction('viewMetadata', $modal, __('submission.viewMetadata'), 'more_info');
 }
 /**
  * Constructor
  * @param $request Request
  * @param $stageId int Stage ID of review assignment
  */
 function __construct($request, $stageId)
 {
     $this->_context = $request->getContext();
     $this->_stageId = $stageId;
     import('lib.pkp.classes.linkAction.request.ConfirmationModal');
     $viewGuidelinesModal = new ConfirmationModal($this->getGuidelines(), __('reviewer.submission.guidelines'), null, null, false);
     // Configure the link action.
     parent::__construct('viewReviewGuidelines', $viewGuidelinesModal, __('reviewer.submission.guidelines'));
 }
 /**
  * Constructor
  * @param $request Request
  * @param $monographId integer The submission to show meta-data for.
  * @param $stageId integer The stage ID of the viewer's context
  * @param $selectedFormatId integer The publication format ID that
  * will be used to open the correspondent publication format tab. If
  * none is passed, the first catalog entry tab will be opened.
  * @param $image string
  */
 function __construct($request, $monographId, $stageId, $selectedFormatId = null, $image = 'information')
 {
     $actionArgs = array('submissionId' => $monographId, 'stageId' => $stageId);
     if ($selectedFormatId) {
         $actionArgs['selectedFormatId'] = $selectedFormatId;
     }
     $dispatcher = $request->getDispatcher();
     import('lib.pkp.classes.linkAction.request.AjaxModal');
     parent::__construct('catalogEntry', new AjaxModal($dispatcher->url($request, ROUTE_COMPONENT, null, 'modals.submissionMetadata.CatalogEntryHandler', 'fetch', null, $actionArgs), __('submission.catalogEntry'), 'modal_more_info'), __('submission.catalogEntry'), $image, $image == 'completed' ? __('grid.action.formatInCatalogEntry') : null);
 }
 /**
  * Constructor
  * @param $request Request
  * @param $reviewAssignment ReviewAssignment the review assignment
  * to show information about.
  * @param $submission Submission The reviewed submission.
  */
 function UnconsiderReviewLinkAction($request, $reviewAssignment, $submission)
 {
     // Instantiate the information center modal.
     $router = $request->getRouter();
     $actionArgs = array('submissionId' => $reviewAssignment->getSubmissionId(), 'reviewAssignmentId' => $reviewAssignment->getId(), 'stageId' => $reviewAssignment->getStageId());
     import('lib.pkp.classes.linkAction.request.RemoteActionConfirmationModal');
     $modal = new RemoteActionConfirmationModal(__('editor.review.unconsiderReviewText'), __('editor.review.unconsiderReview'), $router->url($request, null, 'grid.users.reviewer.ReviewerGridHandler', 'unconsiderReview', null, $actionArgs), 'modal_information');
     // Configure the link action.
     parent::LinkAction('unconsiderReview', $modal, __('common.complete'), 'completed');
 }
 /**
  * Constructor
  * @param $request Request
  * @param $actionArgs array The parameters required by the
  *  link action target to identify a list of files.
  * @param $actionLabel string The localized label of the link action.
  */
 function SelectFilesLinkAction(&$request, $actionArgs, $actionLabel)
 {
     // Create an ajax action request that'll contain
     // the file selection grid.
     import('lib.pkp.classes.linkAction.request.AjaxModal');
     $router =& $request->getRouter();
     $ajaxModal = new AjaxModal($router->url($request, null, null, 'selectFiles', null, $actionArgs), $actionLabel);
     // Configure the link action.
     parent::LinkAction('selectFiles', $ajaxModal, $actionLabel, 'add');
 }
 /**
  * Constructor
  * @param $request Request
  * @param $actionArgs array The parameters required by the
  *  link action target to identify a list of files.
  * @param $actionLabel string The localized label of the link action.
  * @param $modalTitle string the (optional) title to be used for the modal.
  */
 function __construct($request, $actionArgs, $actionLabel, $modalTitle = null)
 {
     // Create an ajax action request that'll contain
     // the file selection grid.
     import('lib.pkp.classes.linkAction.request.AjaxModal');
     $modalTitle = isset($modalTitle) ? $modalTitle : $actionLabel;
     $router = $request->getRouter();
     $ajaxModal = new AjaxModal($router->url($request, null, null, 'selectFiles', null, $actionArgs), $modalTitle, 'modal_add_file');
     // Configure the link action.
     parent::__construct('selectFiles', $ajaxModal, $actionLabel, 'add');
 }
 /**
  * Constructor
  * @param $request Request
  * @param $signoff Signoff The signoff that will
  * be used to get notes from.
  * @param $submissionId int The signoff submission id.
  * @param $stageId int The signoff stage id.
  */
 function SignoffNotesLinkAction($request, $signoff, $submissionId, $stageId)
 {
     // Instantiate the redirect action request.
     $dispatcher = $request->getDispatcher();
     import('lib.pkp.classes.linkAction.request.AjaxModal');
     $actionArgs = array('signoffId' => $signoff->getId(), 'submissionId' => $submissionId, 'stageId' => $stageId);
     $user = $request->getUser();
     $router = $request->getRouter();
     $ajaxModal = new AjaxModal($dispatcher->url($request, ROUTE_COMPONENT, null, 'informationCenter.SignoffInformationCenterHandler', 'viewNotes', null, $actionArgs), __('submission.informationCenter.notes'));
     parent::LinkAction('viewSignoffNotes', $ajaxModal, '', $this->_getNoteState($signoff, $user));
 }
 /**
  * Constructor
  * @param $request Request
  * @param $actionArgs array
  * @param $files array Files to be downloaded.
  */
 function DownloadAllLinkAction($request, $actionArgs, $files)
 {
     // Instantiate the redirect action request.
     $router = $request->getRouter();
     $filesIdsAndRevisions = $this->_getFilesIdsAndRevisions($files);
     $actionArgs['filesIdsAndRevisions'] = $filesIdsAndRevisions;
     import('lib.pkp.classes.linkAction.request.PostAndRedirectAction');
     $redirectRequest = new PostAndRedirectAction($router->url($request, null, 'api.file.FileApiHandler', 'recordDownload', null, $actionArgs), $router->url($request, null, 'api.file.FileApiHandler', 'downloadAllFiles', null, $actionArgs));
     // Configure the link action.
     parent::LinkAction('downloadAll', $redirectRequest, __('submission.files.downloadAll'), 'getPackage');
 }
 /**
  * Constructor
  * @param $request Request
  */
 function MonographlessCatalogEntryLinkAction($request)
 {
     $router = $request->getRouter();
     $dispatcher = $router->getDispatcher();
     AppLocale::requireComponents(LOCALE_COMPONENT_APP_SUBMISSION);
     $modal = new AjaxModal($dispatcher->url($request, ROUTE_COMPONENT, null, 'modals.submissionMetadata.SelectMonographHandler', 'fetch', null), __('submission.catalogEntry.new'), 'modal_more_info');
     // Configure the link action.
     if (!isset($action)) {
         $action = 'newCatalogEntry';
     }
     parent::LinkAction($action, $modal, __('submission.catalogEntry.new'), 'information');
 }
 /**
  * Constructor
  * @param $request Request
  * @param $reviewAssignment ReviewAssignment the review assignment
  * to show information about.
  * @param $submission Submission The reviewed submission.
  * @param $user User The user.
  * @param $isUnread bool Has a review been read
  */
 function ReviewNotesLinkAction($request, $reviewAssignment, $submission, $user, $isUnread = null)
 {
     // Instantiate the information center modal.
     $router = $request->getRouter();
     import('lib.pkp.classes.linkAction.request.AjaxModal');
     $actionArgs = array('submissionId' => $reviewAssignment->getSubmissionId(), 'reviewAssignmentId' => $reviewAssignment->getId(), 'stageId' => $reviewAssignment->getStageId());
     $ajaxModal = new AjaxModal($router->url($request, null, 'grid.users.reviewer.ReviewerGridHandler', 'readReview', null, $actionArgs), __('editor.review') . ': ' . $submission->getLocalizedTitle(), 'modal_information');
     $viewsDao = DAORegistry::getDAO('ViewsDAO');
     $lastViewDate = $viewsDao->getLastViewDate(ASSOC_TYPE_REVIEW_RESPONSE, $reviewAssignment->getId(), $user->getId());
     $icon = !$lastViewDate || $isUnread ? 'read_new_review' : null;
     // Configure the link action.
     parent::LinkAction('readReview', $ajaxModal, __('editor.review.readReview'), $icon);
 }
 /**
  * Constructor
  * @param $request Request
  * @param $monographId integer
  * @param $representationId integer
  * @param $title string Locale key
  * @param $image string
  */
 function ApproveProofsLinkAction($request, $monographId, $representationId, $image = null)
 {
     // Create the actionArgs array
     $actionArgs = array();
     $actionArgs['submissionId'] = $monographId;
     $actionArgs['stageId'] = WORKFLOW_STAGE_ID_PRODUCTION;
     $actionArgs['representationId'] = $representationId;
     $dispatcher = $request->getDispatcher();
     $modal = new AjaxModal($dispatcher->url($request, ROUTE_COMPONENT, null, 'modals.editorDecision.EditorDecisionHandler', 'approveProofs', null, $actionArgs), __('editor.submission.decision.approveProofs'), 'modal_approve_proofs');
     $toolTip = $image == 'completed' ? __('grid.action.proofApproved') : null;
     // Configure the link action.
     parent::LinkAction('approveProofs-' . $representationId, $modal, __('editor.submission.decision.approveProofs'), $image, $toolTip);
 }
 /**
  * Constructor
  * @param $request Request
  * @param $monographId integer The monograph the file should be
  *  uploaded to.
  * @param $stageId integer The workflow stage in which the file
  *  uploader is being instantiated (one of the WORKFLOW_STAGE_ID_*
  *  constants).
  * @param $uploaderRoles array The ids of all roles allowed to upload
  *  in the context of this action.
  * @param $actionArgs array The arguments to be passed into the file
  *  upload wizard.
  * @param $wizardTitle string The title to be displayed in the file
  *  upload wizard.
  * @param $buttonLabel string The link action's button label.
  */
 function BaseAddFileLinkAction(&$request, $monographId, $stageId, $uploaderRoles, $actionArgs, $wizardTitle, $buttonLabel)
 {
     // Augment the action arguments array.
     $actionArgs['monographId'] = $monographId;
     $actionArgs['stageId'] = $stageId;
     assert(is_array($uploaderRoles) && count($uploaderRoles) > 1);
     $actionArgs['uploaderRoles'] = implode('-', $uploaderRoles);
     // Instantiate the file upload modal.
     $dispatcher =& $request->getDispatcher();
     import('lib.pkp.classes.linkAction.request.WizardModal');
     $modal = new WizardModal($dispatcher->url($request, ROUTE_COMPONENT, null, 'wizard.fileUpload.FileUploadWizardHandler', 'startWizard', null, $actionArgs), $wizardTitle, 'fileManagement');
     // Configure the link action.
     parent::LinkAction('addFile', $modal, $buttonLabel, 'add');
 }
 /**
  * Constructor
  * @param $request Request
  * @param $monographId integer The monograph the file should be
  *  uploaded to.
  * @param $stageId integer The workflow stage in which the file
  *  uploader is being instantiated (one of the WORKFLOW_STAGE_ID_*
  *  constants).
  * @param $signoffId integer The id of the signoff being read
  *  upload wizard.
  * @param $wizardTitle string The title to be displayed in the file
  *  upload wizard.
  * @param $buttonLabel string The link action's button label.
  */
 function ReadSignoffLinkAction($request, $monographId, $stageId, $signoffId, $modalTitle, $buttonLabel, $image = null)
 {
     // Create the actionArgs array
     $actionArgs = array();
     $actionArgs['submissionId'] = $monographId;
     $actionArgs['stageId'] = $stageId;
     $actionArgs['signoffId'] = $signoffId;
     // Instantiate the file upload modal.
     $dispatcher = $request->getDispatcher();
     import('lib.pkp.classes.linkAction.request.WizardModal');
     $modal = new AjaxModal($dispatcher->url($request, ROUTE_COMPONENT, null, 'modals.signoff.FileSignoffHandler', 'readSignoff', null, $actionArgs), $modalTitle, 'modal_add_file');
     // Configure the link action.
     parent::LinkAction('readSignoff', $modal, $buttonLabel, $image);
 }
Beispiel #25
0
 /**
  * Constructor
  * @param $request Request
  * @param $submission Submission The submission
  * @param $stageId int
  * @param $userId optional
  *  to show information about.
  */
 function NotifyLinkAction($request, &$submission, $stageId, $userId = null)
 {
     AppLocale::requireComponents(LOCALE_COMPONENT_APP_SUBMISSION);
     // Prepare request arguments
     $requestArgs['submissionId'] = $submission->getId();
     $requestArgs['stageId'] = $stageId;
     if ($userId) {
         $requestArgs['userId'] = $userId;
     }
     import('lib.pkp.classes.linkAction.request.AjaxModal');
     $router = $request->getRouter();
     $ajaxModal = new AjaxModal($router->url($request, null, 'grid.users.stageParticipant.StageParticipantGridHandler', 'viewNotify', null, $requestArgs), __('submission.stageParticipants.notify'), 'modal_email');
     // Configure the file link action.
     parent::LinkAction('notify', $ajaxModal, __('submission.stageParticipants.notify'), 'notify');
 }
 /**
  * Constructor
  * @param $request Request
  * @param $submissionId integer The submission the file should be
  *  uploaded to.
  * @param $stageId integer The workflow stage in which the file
  *  uploader is being instantiated (one of the WORKFLOW_STAGE_ID_*
  *  constants).
  * @param $uploaderRoles array The ids of all roles allowed to upload
  *  in the context of this action.
  * @param $uploaderGroupIds array The ids of all allowed user groups
  *  to upload in the context of this action, or null to permit all.
  * @param $actionArgs array The arguments to be passed into the file
  *  upload wizard.
  * @param $wizardTitle string The title to be displayed in the file
  *  upload wizard.
  * @param $buttonLabel string The link action's button label.
  */
 function __construct($request, $submissionId, $stageId, $uploaderRoles, $uploaderGroupIds, $actionArgs, $wizardTitle, $buttonLabel)
 {
     // Augment the action arguments array.
     $actionArgs['submissionId'] = $submissionId;
     $actionArgs['stageId'] = $stageId;
     assert(is_array($uploaderRoles) && count($uploaderRoles) >= 1);
     $actionArgs['uploaderRoles'] = implode('-', (array) $uploaderRoles);
     $actionArgs['uploaderGroupIds'] = implode('-', (array) $uploaderGroupIds);
     // Instantiate the file upload modal.
     $dispatcher = $request->getDispatcher();
     import('lib.pkp.classes.linkAction.request.WizardModal');
     $modal = new WizardModal($dispatcher->url($request, ROUTE_COMPONENT, null, 'wizard.fileUpload.FileUploadWizardHandler', 'startWizard', null, $actionArgs), $wizardTitle, 'modal_add_file');
     // Configure the link action.
     parent::__construct('addFile', $modal, $buttonLabel, 'add');
 }
 /**
  * Constructor
  * @param $request Request
  * @param $submissionId integer The submission the file should be
  *  uploaded to.
  * @param $stageId integer The workflow stage in which the file
  *  uploader is being instantiated (one of the WORKFLOW_STAGE_ID_*
  *  constants).
  * @param $symbolic string The symbolic name of the signoff
  * @param signoffId The optional ID of the signoff
  * @param $modalTitle string The modal title
  * @param $buttonLabel string The link action's button label (null for cell action)
  */
 function AddSignoffFileLinkAction($request, $submissionId, $stageId, $symbolic, $signoffId = null, $modalTitle, $buttonLabel = null)
 {
     // Create the actionArgs array
     $actionArgs = array();
     $actionArgs['submissionId'] = $submissionId;
     $actionArgs['stageId'] = $stageId;
     $actionArgs['symbolic'] = $symbolic;
     $actionArgs['signoffId'] = $signoffId;
     $actionArgs['fileStage'] = SUBMISSION_FILE_SIGNOFF;
     // Instantiate the file upload modal.
     $dispatcher = $request->getDispatcher();
     import('lib.pkp.classes.linkAction.request.WizardModal');
     $modal = new AjaxModal($dispatcher->url($request, ROUTE_COMPONENT, null, 'informationCenter.SignoffInformationCenterHandler', 'viewNotes', null, $actionArgs), $modalTitle, 'modal_add_file');
     // Configure the link action.
     parent::LinkAction('addSignoff', $modal, $buttonLabel, 'add');
 }
 /**
  * Constructor
  * @param $request Request
  * @param $submissionId integer The submission to show meta-data for.
  * @param $stageId integer The stage ID of the viewer's context
  * @param $selectedGalleyId integer The galley ID that
  * will be used to open the correspondent galley tab. If
  * none is passed, the first submission entry tab will be opened.
  * @param $image string
  */
 function SubmissionEntryLinkAction($request, $submissionId, $stageId, $selectedGalleyId = null, $image = 'information')
 {
     // Instantiate the modal.
     $dispatcher = $request->getDispatcher();
     import('lib.pkp.classes.linkAction.request.AjaxModal');
     $actionArgs = array();
     $actionArgs['submissionId'] = $submissionId;
     $actionArgs['stageId'] = $stageId;
     if ($selectedGalleyId) {
         $actionArgs['selectedGalleyId'] = $selectedGalleyId;
     }
     $modal = new AjaxModal($dispatcher->url($request, ROUTE_COMPONENT, null, 'modals.submissionMetadata.IssueEntryHandler', 'fetch', null, $actionArgs), __('submission.issueEntry.modalTitle'), 'modal_more_info');
     // Configure the link action.
     $toolTip = $image == 'completed' ? __('grid.action.galleyInIssueEntry') : null;
     parent::LinkAction('issueEntry', $modal, __('submission.issueEntry'), $image, $toolTip);
 }
 /**
  * Constructor
  * @param $request Request
  * @param $emailKey string
  */
 function EditEmailLinkAction(&$request, $emailKey = null)
 {
     // Create the action arguments array.
     $actionArgs = array();
     if ($emailKey) {
         $actionArgs['emailKey'] = $emailKey;
     }
     // Instantiate the file upload modal.
     $router =& $request->getRouter();
     $dispatcher =& $router->getDispatcher();
     import('lib.pkp.classes.linkAction.request.AjaxModal');
     $title = $emailKey ? 'manager.emails.editEmail' : 'manager.emails.addEmail';
     $action = $emailKey ? 'editPreparedEmail' : 'addPreparedEmail';
     $icon = $emailKey ? 'edit' : 'add_item';
     $modal = new AjaxModal($dispatcher->url($request, ROUTE_COMPONENT, null, 'grid.settings.preparedEmails.PreparedEmailsGridHandler', $action, null, $actionArgs), __($title), $icon);
     // Configure the link action.
     parent::LinkAction($action, $modal, __($title), $icon);
 }
 /**
  * Constructor
  * @param $request Request
  * @param $submissionId int the ID of the submission to present link for
  * to show information about.
  * @param $linkKey string optional locale key to display for link
  */
 function SubmissionInfoCenterLinkAction($request, $submissionId, $linkKey = 'informationCenter.editorialHistory')
 {
     // Instantiate the information center modal.
     $submissionDao = Application::getSubmissionDAO();
     $submission = $submissionDao->getById($submissionId);
     $primaryAuthor = $submission->getPrimaryAuthor();
     if (!isset($primaryAuthor)) {
         $authors = $submission->getAuthors();
         if (sizeof($authors) > 0) {
             $primaryAuthor = $authors[0];
         }
     }
     $title = isset($primaryAuthor) ? implode(', ', array($primaryAuthor->getLastName(), $submission->getLocalizedTitle())) : $submission->getLocalizedTitle();
     $dispatcher = $request->getDispatcher();
     import('lib.pkp.classes.linkAction.request.AjaxModal');
     $ajaxModal = new AjaxModal($dispatcher->url($request, ROUTE_COMPONENT, null, 'informationCenter.SubmissionInformationCenterHandler', 'viewInformationCenter', null, array('submissionId' => $submissionId)), $title, 'modal_information');
     // Configure the link action.
     parent::LinkAction('editorialHistory', $ajaxModal, __($linkKey), 'more_info');
 }