EditorDecisionWithEmailForm::initData PHP Method

initData() public method

public initData ( $args, $request, $actionLabels )
    function initData($args, $request, $actionLabels)
    {
        $context = $request->getContext();
        $router = $request->getRouter();
        $dispatcher = $router->getDispatcher();
        $submission = $this->getSubmission();
        $user = $request->getUser();
        import('lib.pkp.classes.mail.SubmissionMailTemplate');
        $emailKeys = array(SUBMISSION_EDITOR_DECISION_ACCEPT => 'EDITOR_DECISION_ACCEPT', SUBMISSION_EDITOR_DECISION_DECLINE => 'EDITOR_DECISION_DECLINE', SUBMISSION_EDITOR_DECISION_EXTERNAL_REVIEW => 'EDITOR_DECISION_SEND_TO_EXTERNAL', SUBMISSION_EDITOR_DECISION_RESUBMIT => 'EDITOR_DECISION_RESUBMIT', SUBMISSION_EDITOR_DECISION_PENDING_REVISIONS => 'EDITOR_DECISION_REVISIONS', SUBMISSION_EDITOR_DECISION_SEND_TO_PRODUCTION => 'EDITOR_DECISION_SEND_TO_PRODUCTION');
        $email = new SubmissionMailTemplate($submission, $emailKeys[$this->getDecision()]);
        $submissionUrl = $dispatcher->url($request, ROUTE_PAGE, null, 'authorDashboard', 'submission', $submission->getId());
        $email->assignParams(array('authorName' => $submission->getAuthorString(), 'editorialContactSignature' => $user->getContactSignature(), 'submissionUrl' => "<a href=\"{$submissionUrl}\">{$submissionUrl}</a>"));
        $email->replaceParams();
        // If we are in review stage we need a review round.
        $reviewRound = $this->getReviewRound();
        if (is_a($reviewRound, 'ReviewRound')) {
            $this->setData('reviewRoundId', $reviewRound->getId());
        }
        $data = array('submissionId' => $submission->getId(), 'decision' => $this->getDecision(), 'authorName' => $submission->getAuthorString(), 'personalMessage' => $email->getBody(), 'actionLabel' => $actionLabels[$this->getDecision()]);
        foreach ($data as $key => $value) {
            $this->setData($key, $value);
        }
        return parent::initData($args, $request);
    }

Usage Example

Example #1
0
 /**
  * @copydoc Form::initData()
  */
 function initData($args, $request)
 {
     $actionLabels = EditorDecisionActionsManager::getActionLabels($this->_getDecisions());
     $submission = $this->getSubmission();
     $this->setData('stageId', $this->getStageId());
     return parent::initData($args, $request, $actionLabels);
 }
All Usage Examples Of EditorDecisionWithEmailForm::initData