/** * Setup common template variables. * @param $subclass boolean set to true if caller is below this handler in the hierarchy */ function setupTemplate($subclass = false, $articleId = 0, $parentPage = null, $showSidebar = true) { $templateMgr =& TemplateManager::getManager(); $isEditor = Validation::isEditor(); if (Request::getRequestedPage() == 'editor') { EditorHandler::setupTemplate(EDITOR_SECTION_SUBMISSIONS, $articleId, $parentPage); $templateMgr->assign('helpTopicId', 'editorial.editorsRole'); } else { $templateMgr->assign('helpTopicId', 'editorial.sectionEditorsRole'); $pageHierarchy = $subclass ? array(array(Request::url(null, 'user'), 'navigation.user'), array(Request::url(null, $isEditor ? 'editor' : 'sectionEditor'), $isEditor ? 'user.role.editor' : 'user.role.sectionEditor'), array(Request::url(null, 'sectionEditor'), 'article.submissions')) : array(array(Request::url(null, 'user'), 'navigation.user'), array(Request::url(null, $isEditor ? 'editor' : 'sectionEditor'), $isEditor ? 'user.role.editor' : 'user.role.sectionEditor')); import('submission.sectionEditor.SectionEditorAction'); $submissionCrumb = SectionEditorAction::submissionBreadcrumb($articleId, $parentPage, 'sectionEditor'); if (isset($submissionCrumb)) { $pageHierarchy = array_merge($pageHierarchy, $submissionCrumb); } $templateMgr->assign('pageHierarchy', $pageHierarchy); } }
/** * Setup common template variables. * @param $level int set to one of EDITOR_SECTION_? defined in EditorHandler. */ function setupTemplate($level) { $templateMgr =& TemplateManager::getManager(); $templateMgr->assign('isLayoutEditor', Request::getRequestedPage() == 'layoutEditor'); EditorHandler::setupTemplate($level); }
/** * Assigns the selected editor to the submission. */ function assignEditor($args) { EditorHandler::validate(); $journal =& Request::getJournal(); $articleId = Request::getUserVar('articleId'); $editorId = Request::getUserVar('editorId'); $roleDao =& DAORegistry::getDAO('RoleDAO'); $isSectionEditor = $roleDao->roleExists($journal->getJournalId(), $editorId, ROLE_ID_SECTION_EDITOR); $isEditor = $roleDao->roleExists($journal->getJournalId(), $editorId, ROLE_ID_EDITOR); if (isset($editorId) && $editorId != null && ($isEditor || $isSectionEditor)) { // A valid section editor has already been chosen; // either prompt with a modifiable email or, if this // has been done, send the email and store the editor // selection. EditorHandler::setupTemplate(EDITOR_SECTION_SUBMISSIONS, $articleId, 'summary'); // FIXME: Prompt for due date. if (EditorAction::assignEditor($articleId, $editorId, $isEditor, Request::getUserVar('send'))) { Request::redirect(null, null, 'submission', $articleId); } } else { // Allow the user to choose a section editor or editor. EditorHandler::setupTemplate(EDITOR_SECTION_SUBMISSIONS, $articleId, 'summary'); $searchType = null; $searchMatch = null; $search = 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; } } $rangeInfo =& Handler::getRangeInfo('editors'); $editorSubmissionDao =& DAORegistry::getDAO('EditorSubmissionDAO'); if (isset($args[0]) && $args[0] === 'editor') { $roleName = 'user.role.editor'; $editors =& $editorSubmissionDao->getUsersNotAssignedToArticle($journal->getJournalId(), $articleId, RoleDAO::getRoleIdFromPath('editor'), $searchType, $search, $searchMatch, $rangeInfo); } else { $roleName = 'user.role.sectionEditor'; $editors =& $editorSubmissionDao->getUsersNotAssignedToArticle($journal->getJournalId(), $articleId, RoleDAO::getRoleIdFromPath('sectionEditor'), $searchType, $search, $searchMatch, $rangeInfo); } $templateMgr =& TemplateManager::getManager(); $templateMgr->assign_by_ref('editors', $editors); $templateMgr->assign('roleName', $roleName); $templateMgr->assign('articleId', $articleId); $sectionDao =& DAORegistry::getDAO('SectionDAO'); $sectionEditorSections =& $sectionDao->getEditorSections($journal->getJournalId()); $editAssignmentDao =& DAORegistry::getDAO('EditAssignmentDAO'); $editorStatistics = $editAssignmentDao->getEditorStatistics($journal->getJournalId()); $templateMgr->assign_by_ref('editorSections', $sectionEditorSections); $templateMgr->assign('editorStatistics', $editorStatistics); $templateMgr->assign('searchField', $searchType); $templateMgr->assign('searchMatch', $searchMatch); $templateMgr->assign('search', $search); $templateMgr->assign('searchInitial', Request::getUserVar('searchInitial')); $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('alphaList', explode(' ', Locale::translate('common.alphaList'))); $templateMgr->assign('helpTopicId', 'editorial.editorsRole.submissionSummary.submissionManagement'); $templateMgr->display('editor/selectSectionEditor.tpl'); } }