/**
  * View an assigned submission's layout editing page.
  * @param $args array ($articleId)
  */
 function submission($args)
 {
     $articleId = isset($args[0]) ? $args[0] : 0;
     $journal =& Request::getJournal();
     $submissionLayoutHandler = new SubmissionLayoutHandler();
     $submissionLayoutHandler->validate($articleId);
     $submission =& $submissionLayoutHandler->submission;
     $this->setupTemplate(true, $articleId);
     $signoffDao =& DAORegistry::getDAO('SignoffDAO');
     import('classes.submission.proofreader.ProofreaderAction');
     ProofreaderAction::proofreadingUnderway($submission, 'SIGNOFF_PROOFREADING_LAYOUT');
     $layoutSignoff = $signoffDao->build('SIGNOFF_LAYOUT', ASSOC_TYPE_ARTICLE, $articleId);
     if ($layoutSignoff->getDateNotified() != null && $layoutSignoff->getDateUnderway() == null) {
         // Set underway date
         $layoutSignoff->setDateUnderway(Core::getCurrentDate());
         $signoffDao->updateObject($layoutSignoff);
     }
     $disableEdit = !$this->layoutEditingEnabled($submission);
     $templateMgr =& TemplateManager::getManager();
     $templateMgr->assign_by_ref('submission', $submission);
     $templateMgr->assign('disableEdit', $disableEdit);
     $templateMgr->assign('useProofreaders', $journal->getSetting('useProofreaders'));
     $templateMgr->assign('templates', $journal->getSetting('templates'));
     $templateMgr->assign('helpTopicId', 'editorial.layoutEditorsRole.layout');
     $publishedArticleDao =& DAORegistry::getDAO('PublishedArticleDAO');
     $publishedArticle =& $publishedArticleDao->getPublishedArticleByArticleId($submission->getArticleId());
     if ($publishedArticle) {
         $issueDao =& DAORegistry::getDAO('IssueDAO');
         $issue =& $issueDao->getIssueById($publishedArticle->getIssueId());
         $templateMgr->assign_by_ref('publishedArticle', $publishedArticle);
         $templateMgr->assign_by_ref('issue', $issue);
     }
     $templateMgr->display('layoutEditor/submission.tpl');
 }
 /**
  * Submission - Proofreading view
  * @param $args array
  * @param $request PKPRequest
  */
 function submission($args, &$request)
 {
     $articleId = (int) array_shift($args);
     $journal =& $request->getJournal();
     $this->validate($request, $articleId);
     $this->setupTemplate(true, $articleId);
     $useProofreaders = $journal->getSetting('useProofreaders');
     $authorDao =& DAORegistry::getDAO('AuthorDAO');
     $authors = $authorDao->getAuthorsBySubmissionId($articleId);
     ProofreaderAction::proofreadingUnderway($this->submission, 'SIGNOFF_PROOFREADING_PROOFREADER');
     $useLayoutEditors = $journal->getSetting('useLayoutEditors');
     $templateMgr =& TemplateManager::getManager();
     $templateMgr->assign('useProofreaders', $useProofreaders);
     $templateMgr->assign_by_ref('authors', $authors);
     $templateMgr->assign_by_ref('submission', $this->submission);
     $templateMgr->assign('useLayoutEditors', $useLayoutEditors);
     $templateMgr->assign('helpTopicId', 'editorial.proofreadersRole.proofreading');
     $publishedArticleDao =& DAORegistry::getDAO('PublishedArticleDAO');
     $publishedArticle =& $publishedArticleDao->getPublishedArticleByArticleId($this->submission->getId());
     if ($publishedArticle) {
         $issueDao =& DAORegistry::getDAO('IssueDAO');
         $issue =& $issueDao->getIssueById($publishedArticle->getIssueId());
         $templateMgr->assign_by_ref('publishedArticle', $publishedArticle);
         $templateMgr->assign_by_ref('issue', $issue);
     }
     $templateMgr->display('proofreader/submission.tpl');
 }
 /**
  * Display the status and other details of an author's submission.
  */
 function submissionEditing($args)
 {
     $journal =& Request::getJournal();
     $user =& Request::getUser();
     $articleId = isset($args[0]) ? (int) $args[0] : 0;
     $this->validate($articleId);
     $submission =& $this->submission;
     $this->setupTemplate(true, $articleId);
     AuthorAction::copyeditUnderway($submission);
     import('classes.submission.proofreader.ProofreaderAction');
     ProofreaderAction::proofreadingUnderway($submission, 'SIGNOFF_PROOFREADING_AUTHOR');
     $templateMgr =& TemplateManager::getManager();
     $templateMgr->assign_by_ref('submission', $submission);
     $templateMgr->assign_by_ref('copyeditor', $submission->getUserBySignoffType('SIGNOFF_COPYEDITING_INITIAL'));
     $templateMgr->assign_by_ref('submissionFile', $submission->getSubmissionFile());
     $templateMgr->assign_by_ref('initialCopyeditFile', $submission->getFileBySignoffType('SIGNOFF_COPYEDITING_INITIAL'));
     $templateMgr->assign_by_ref('editorAuthorCopyeditFile', $submission->getFileBySignoffType('SIGNOFF_COPYEDITING_AUTHOR'));
     $templateMgr->assign_by_ref('finalCopyeditFile', $submission->getFileBySignoffType('SIGNOFF_COPYEDITING_FINAL'));
     $templateMgr->assign_by_ref('suppFiles', $submission->getSuppFiles());
     $templateMgr->assign('useCopyeditors', $journal->getSetting('useCopyeditors'));
     $templateMgr->assign('useLayoutEditors', $journal->getSetting('useLayoutEditors'));
     $templateMgr->assign('useProofreaders', $journal->getSetting('useProofreaders'));
     $templateMgr->assign('helpTopicId', 'editorial.authorsRole.editing');
     $templateMgr->display('author/submissionEditing.tpl');
 }