diff --git a/classes/security/RoleDAO.inc.php b/classes/security/RoleDAO.inc.php index d00d4cb..89b6c77 100644 --- a/classes/security/RoleDAO.inc.php +++ b/classes/security/RoleDAO.inc.php @@ -146,7 +146,7 @@ class RoleDAO extends DAO { function &getUsersByRoleId($roleId = null, $journalId = null, $searchType = null, $search = null, $searchMatch = null, $dbResultRange = null, $sortBy = null, $sortDirection = SORT_DIRECTION_ASC) { $users = array(); - $paramArray = array('interest'); + $paramArray = array(ASSOC_TYPE_USER, 'interest'); if (isset($roleId)) $paramArray[] = (int) $roleId; if (isset($journalId)) $paramArray[] = (int) $journalId; @@ -194,7 +194,7 @@ class RoleDAO extends DAO { $searchSql .= ($sortBy?(' ORDER BY ' . $this->getSortMapping($sortBy) . ' ' . $this->getDirectionMapping($sortDirection)) : ''); $result =& $this->retrieveRange( - 'SELECT DISTINCT u.* FROM users AS u LEFT JOIN controlled_vocabs cv ON (cv.assoc_id = u.user_id AND cv.symbolic = ?) + 'SELECT DISTINCT u.* FROM users AS u LEFT JOIN controlled_vocabs cv ON (cv.assoc_type = ? AND cv.assoc_id = u.user_id AND cv.symbolic = ?) LEFT JOIN controlled_vocab_entries cve ON (cve.controlled_vocab_id = cv.controlled_vocab_id) LEFT JOIN controlled_vocab_entry_settings cves ON (cves.controlled_vocab_entry_id = cve.controlled_vocab_entry_id), roles AS r WHERE u.user_id = r.user_id ' . (isset($roleId)?'AND r.role_id = ?':'') . (isset($journalId) ? ' AND r.journal_id = ?' : '') . ' ' . $searchSql, @@ -218,7 +218,7 @@ class RoleDAO extends DAO { function &getUsersByJournalId($journalId, $searchType = null, $search = null, $searchMatch = null, $dbResultRange = null, $sortBy = null, $sortDirection = SORT_DIRECTION_ASC) { $users = array(); - $paramArray = array('interest', (int) $journalId); + $paramArray = array(ASSOC_TYPE_USER, 'interest', (int) $journalId); $searchSql = ''; $searchTypeMap = array( @@ -260,7 +260,7 @@ class RoleDAO extends DAO { $result =& $this->retrieveRange( - 'SELECT DISTINCT u.* FROM users AS u LEFT JOIN controlled_vocabs cv ON (cv.assoc_id = u.user_id AND cv.symbolic = ?) + 'SELECT DISTINCT u.* FROM users AS u LEFT JOIN controlled_vocabs cv ON (cv.assoc_type = ? AND cv.assoc_id = u.user_id AND cv.symbolic = ?) LEFT JOIN controlled_vocab_entries cve ON (cve.controlled_vocab_id = cv.controlled_vocab_id) LEFT JOIN controlled_vocab_entry_settings cves ON (cves.controlled_vocab_entry_id = cve.controlled_vocab_entry_id), roles AS r WHERE u.user_id = r.user_id AND r.journal_id = ? ' . $searchSql, diff --git a/classes/submission/editor/EditorSubmissionDAO.inc.php b/classes/submission/editor/EditorSubmissionDAO.inc.php index e1dd2bf..1c627d6 100644 --- a/classes/submission/editor/EditorSubmissionDAO.inc.php +++ b/classes/submission/editor/EditorSubmissionDAO.inc.php @@ -610,7 +610,7 @@ class EditorSubmissionDAO extends DAO { function &getUsersNotAssignedToArticle($journalId, $articleId, $roleId, $searchType=null, $search=null, $searchMatch=null, $rangeInfo = null) { $users = array(); - $paramArray = array('interest', $articleId, $journalId, $roleId); + $paramArray = array(ASSOC_TYPE_USER, 'interest', $articleId, $journalId, $roleId); $searchSql = ''; $searchTypeMap = array( @@ -653,7 +653,7 @@ class EditorSubmissionDAO extends DAO { 'SELECT DISTINCT u.* FROM users u - LEFT JOIN controlled_vocabs cv ON (cv.assoc_id = u.user_id AND cv.symbolic = ?) + LEFT JOIN controlled_vocabs cv ON (cv.assoc_type = ? AND cv.assoc_id = u.user_id AND cv.symbolic = ?) LEFT JOIN controlled_vocab_entries cve ON (cve.controlled_vocab_id = cv.controlled_vocab_id) LEFT JOIN controlled_vocab_entry_settings cves ON (cves.controlled_vocab_entry_id = cve.controlled_vocab_entry_id) LEFT JOIN roles r ON (r.user_id = u.user_id) diff --git a/classes/submission/sectionEditor/SectionEditorSubmissionDAO.inc.php b/classes/submission/sectionEditor/SectionEditorSubmissionDAO.inc.php index 37e07ce..5a16ab5 100644 --- a/classes/submission/sectionEditor/SectionEditorSubmissionDAO.inc.php +++ b/classes/submission/sectionEditor/SectionEditorSubmissionDAO.inc.php @@ -738,7 +738,7 @@ class SectionEditorSubmissionDAO extends DAO { * @return DAOResultFactory containing matching Users */ function &getReviewersForArticle($journalId, $articleId, $round, $searchType = null, $search = null, $searchMatch = null, $rangeInfo = null, $sortBy = null, $sortDirection = SORT_DIRECTION_ASC) { - $paramArray = array($articleId, $round, 'interest', $journalId, RoleDAO::getRoleIdFromPath('reviewer')); + $paramArray = array($articleId, $round, ASSOC_TYPE_USER, 'interest', $journalId, RoleDAO::getRoleIdFromPath('reviewer')); $searchSql = ''; $searchTypeMap = array( @@ -794,7 +794,7 @@ class SectionEditorSubmissionDAO extends DAO { LEFT JOIN review_assignments ar ON (ar.reviewer_id = u.user_id AND ar.cancelled = 0 AND ar.submission_id = ? AND ar.round = ?) LEFT JOIN roles r ON (r.user_id = u.user_id) LEFT JOIN articles a ON (ra.submission_id = a.article_id) - LEFT JOIN controlled_vocabs cv ON (cv.assoc_id = u.user_id AND cv.symbolic = ?) + LEFT JOIN controlled_vocabs cv ON (cv.assoc_type = ? AND cv.assoc_id = u.user_id AND cv.symbolic = ?) LEFT JOIN controlled_vocab_entries cve ON (cve.controlled_vocab_id = cv.controlled_vocab_id) LEFT JOIN controlled_vocab_entry_settings cves ON (cves.controlled_vocab_entry_id = cve.controlled_vocab_entry_id) WHERE u.user_id = r.user_id AND @@ -871,7 +871,7 @@ class SectionEditorSubmissionDAO extends DAO { function &getCopyeditorsNotAssignedToArticle($journalId, $articleId, $searchType = null, $search = null, $searchMatch = null) { $users = array(); - $paramArray = array('interest', $articleId, ASSOC_TYPE_ARTICLE, 'SIGNOFF_COPYEDITING_INITIAL', $journalId, RoleDAO::getRoleIdFromPath('copyeditor')); + $paramArray = array(ASSOC_TYPE_USER, 'interest', $articleId, ASSOC_TYPE_ARTICLE, 'SIGNOFF_COPYEDITING_INITIAL', $journalId, RoleDAO::getRoleIdFromPath('copyeditor')); $searchSql = ''; $searchTypeMap = array( @@ -913,7 +913,7 @@ class SectionEditorSubmissionDAO extends DAO { $result =& $this->retrieve( 'SELECT u.* FROM users u - LEFT JOIN controlled_vocabs cv ON (cv.assoc_id = u.user_id AND cv.symbolic = ?) + LEFT JOIN controlled_vocabs cv ON (cv.assoc_type = ? AND cv.assoc_id = u.user_id AND cv.symbolic = ?) LEFT JOIN controlled_vocab_entries cve ON (cve.controlled_vocab_id = cv.controlled_vocab_id) LEFT JOIN controlled_vocab_entry_settings cves ON (cves.controlled_vocab_entry_id = cve.controlled_vocab_entry_id) LEFT JOIN roles r ON (r.user_id = u.user_id)