コード例 #1
0
 /**
  * Select Proofreader.
  * @param $args array ($articleId, $userId)
  */
 function selectProofreader($args)
 {
     $articleId = isset($args[0]) ? (int) $args[0] : 0;
     $userId = isset($args[1]) ? (int) $args[1] : 0;
     list($journal, $submission) = SubmissionEditHandler::validate($articleId, SECTION_EDITOR_ACCESS_EDIT);
     $roleDao =& DAORegistry::getDAO('RoleDAO');
     if ($userId && $articleId && $roleDao->roleExists($journal->getJournalId(), $userId, ROLE_ID_PROOFREADER)) {
         import('submission.proofreader.ProofreaderAction');
         ProofreaderAction::selectProofreader($userId, $submission);
         Request::redirect(null, null, 'submissionEditing', $articleId);
     } else {
         parent::setupTemplate(true, $articleId, 'editing');
         $searchType = null;
         $searchMatch = null;
         $search = $searchQuery = Request::getUserVar('search');
         $searchInitial = Request::getUserVar('searchInitial');
         if (isset($search)) {
             $searchType = Request::getUserVar('searchField');
             $searchMatch = Request::getUserVar('searchMatch');
         } else {
             if (isset($searchInitial)) {
                 $searchInitial = String::strtoupper($searchInitial);
                 $searchType = USER_FIELD_INITIAL;
                 $search = $searchInitial;
             }
         }
         $proofreaders = $roleDao->getUsersByRoleId(ROLE_ID_PROOFREADER, $journal->getJournalId(), $searchType, $search, $searchMatch);
         $sectionEditorSubmissionDao =& DAORegistry::getDAO('SectionEditorSubmissionDAO');
         $proofreaderStatistics = $sectionEditorSubmissionDao->getProofreaderStatistics($journal->getJournalId());
         $templateMgr =& TemplateManager::getManager();
         $templateMgr->assign('searchField', $searchType);
         $templateMgr->assign('searchMatch', $searchMatch);
         $templateMgr->assign('search', $searchQuery);
         $templateMgr->assign('searchInitial', Request::getUserVar('searchInitial'));
         $templateMgr->assign_by_ref('users', $proofreaders);
         $proofAssignment =& $submission->getProofAssignment();
         if ($proofAssignment) {
             $templateMgr->assign('currentUser', $proofAssignment->getProofreaderId());
         }
         $templateMgr->assign('statistics', $proofreaderStatistics);
         $templateMgr->assign('fieldOptions', array(USER_FIELD_FIRSTNAME => 'user.firstName', USER_FIELD_LASTNAME => 'user.lastName', USER_FIELD_USERNAME => 'user.username', USER_FIELD_EMAIL => 'user.email'));
         $templateMgr->assign('articleId', $articleId);
         $templateMgr->assign('pageSubTitle', 'editor.article.selectProofreader');
         $templateMgr->assign('pageTitle', 'user.role.proofreaders');
         $templateMgr->assign('actionHandler', 'selectProofreader');
         $templateMgr->assign('helpTopicId', 'journal.roles.proofreader');
         $templateMgr->display('sectionEditor/selectUser.tpl');
     }
 }
コード例 #2
0
 /**
  * Select Proofreader.
  * @param $args array ($articleId, $userId)
  * @param $request PKPRequest
  */
 function selectProofreader($args, $request)
 {
     $articleId = (int) array_shift($args);
     $userId = (int) array_shift($args);
     $this->validate($articleId, SECTION_EDITOR_ACCESS_EDIT);
     $journal =& $request->getJournal();
     $submission =& $this->submission;
     $roleDao =& DAORegistry::getDAO('RoleDAO');
     $signoffDao =& DAORegistry::getDAO('SignoffDAO');
     if ($userId && $articleId && $roleDao->userHasRole($journal->getId(), $userId, ROLE_ID_PROOFREADER)) {
         import('classes.submission.proofreader.ProofreaderAction');
         ProofreaderAction::selectProofreader($userId, $submission, $request);
         $request->redirect(null, null, 'submissionEditing', $articleId);
     } else {
         $this->setupTemplate(true, $articleId, 'editing');
         $searchType = null;
         $searchMatch = null;
         $search = $searchQuery = $request->getUserVar('search');
         $searchInitial = $request->getUserVar('searchInitial');
         if (!empty($search)) {
             $searchType = $request->getUserVar('searchField');
             $searchMatch = $request->getUserVar('searchMatch');
         } elseif (!empty($searchInitial)) {
             $searchInitial = String::strtoupper($searchInitial);
             $searchType = USER_FIELD_INITIAL;
             $search = $searchInitial;
         }
         $proofreaders = $roleDao->getUsersByRoleId(ROLE_ID_PROOFREADER, $journal->getId(), $searchType, $search, $searchMatch);
         $sectionEditorSubmissionDao =& DAORegistry::getDAO('SectionEditorSubmissionDAO');
         $proofreaderStatistics = $sectionEditorSubmissionDao->getProofreaderStatistics($journal->getId());
         $templateMgr =& TemplateManager::getManager();
         $templateMgr->assign('searchField', $searchType);
         $templateMgr->assign('searchMatch', $searchMatch);
         $templateMgr->assign('search', $searchQuery);
         $templateMgr->assign('searchInitial', Request::getUserVar('searchInitial'));
         $templateMgr->assign_by_ref('users', $proofreaders);
         $proofSignoff = $signoffDao->getBySymbolic('SIGNOFF_PROOFREADING_PROOFREADER', ASSOC_TYPE_ARTICLE, $articleId);
         if ($proofSignoff) {
             $templateMgr->assign('currentUser', $proofSignoff->getUserId());
         }
         $templateMgr->assign('statistics', $proofreaderStatistics);
         $templateMgr->assign('fieldOptions', array(USER_FIELD_FIRSTNAME => 'user.firstName', USER_FIELD_LASTNAME => 'user.lastName', USER_FIELD_USERNAME => 'user.username', USER_FIELD_EMAIL => 'user.email'));
         $templateMgr->assign('articleId', $articleId);
         $templateMgr->assign('pageSubTitle', 'editor.article.selectProofreader');
         $templateMgr->assign('pageTitle', 'user.role.proofreaders');
         $templateMgr->assign('actionHandler', 'selectProofreader');
         $templateMgr->assign('helpTopicId', 'journal.roles.proofreader');
         $templateMgr->display('sectionEditor/selectUser.tpl');
     }
 }