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);
}