Exemple #1
0
 /**
  * @see Form::execute()
  */
 function execute($args, &$request)
 {
     // Retrieve the submission.
     $seriesEditorSubmission =& $this->getSeriesEditorSubmission();
     // Record the decision.
     $decision = $this->getDecision();
     import('classes.submission.seriesEditor.SeriesEditorAction');
     $seriesEditorAction = new SeriesEditorAction();
     $seriesEditorAction->recordDecision($seriesEditorSubmission, $decision);
     // Identify email key and status of round.
     switch ($decision) {
         case SUBMISSION_EDITOR_DECISION_ACCEPT:
             $emailKey = 'EDITOR_DECISION_ACCEPT';
             $status = REVIEW_ROUND_STATUS_ACCEPTED;
             // Move to the editing stage.
             $seriesEditorAction->incrementWorkflowStage($seriesEditorSubmission, WORKFLOW_STAGE_ID_EDITING);
             break;
         case SUBMISSION_EDITOR_DECISION_EXTERNAL_REVIEW:
             $emailKey = 'EDITOR_DECISION_SEND_TO_EXTERNAL';
             $status = REVIEW_ROUND_STATUS_SENT_TO_EXTERNAL;
             // Move to the external review stage.
             $seriesEditorAction->incrementWorkflowStage($seriesEditorSubmission, WORKFLOW_STAGE_ID_EXTERNAL_REVIEW);
             // Create an initial external review round.
             $this->_initiateReviewRound($seriesEditorSubmission, REVIEW_TYPE_EXTERNAL, 1);
             break;
         default:
             // Unsupported decision.
             assert(false);
     }
     // Send email to the author.
     $this->_sendReviewMailToAuthor($seriesEditorSubmission, $status, $emailKey, $request);
 }
 /**
  * @see Form::execute()
  */
 function execute($args, &$request)
 {
     // Retrieve the submission.
     $seriesEditorSubmission =& $this->getSeriesEditorSubmission();
     // Move to the internal review stage.
     import('classes.submission.seriesEditor.SeriesEditorAction');
     $seriesEditorAction = new SeriesEditorAction();
     $seriesEditorAction->incrementWorkflowStage($seriesEditorSubmission, WORKFLOW_STAGE_ID_INTERNAL_REVIEW);
     // Create an initial internal review round.
     $this->_initiateReviewRound($seriesEditorSubmission, REVIEW_TYPE_INTERNAL, 1, REVIEW_ROUND_STATUS_PENDING_REVIEWERS);
 }
 /**
  * Promote the submission into the production stage
  * @param $args array
  * @param $request PKPRequest
  * @return string Serialized JSON object
  */
 function sendToProduction(&$args, &$request)
 {
     // Retrieve the submission.
     $monograph =& $this->getAuthorizedContextObject(ASSOC_TYPE_MONOGRAPH);
     // Move to the production workflow stage
     import('classes.submission.seriesEditor.SeriesEditorAction');
     $seriesEditorAction = new SeriesEditorAction();
     $seriesEditorAction->incrementWorkflowStage($monograph, WORKFLOW_STAGE_ID_PRODUCTION);
     $json = new JSON(true);
     return $json->getString();
 }