diff --git a/classes/security/RoleDAO.inc.php b/classes/security/RoleDAO.inc.php index 8da9397..a5ea041 100755 --- a/classes/security/RoleDAO.inc.php +++ b/classes/security/RoleDAO.inc.php @@ -41,7 +41,7 @@ class RoleDAO extends DAO { function &getUsersByRoleId($roleId = null, $pressId = null, $searchType = null, $search = null, $searchMatch = null, $dbResultRange = null) { $users = array(); - $paramArray = array('interest'); + $paramArray = array(ASSOC_TYPE_USER, 'interest'); if (isset($roleId)) $paramArray[] = (int) $roleId; if (isset($pressId)) $paramArray[] = (int) $pressId; // For security / resource usage reasons, a role or press ID @@ -88,7 +88,7 @@ class RoleDAO extends DAO { $searchSql .= ' ORDER BY u.last_name, u.first_name'; // FIXME Add "sort field" parameter? $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), user_groups AS ug, user_user_groups AS uug diff --git a/classes/submission/editor/EditorSubmissionDAO.inc.php b/classes/submission/editor/EditorSubmissionDAO.inc.php index d62402f..bdd69fa 100644 --- a/classes/submission/editor/EditorSubmissionDAO.inc.php +++ b/classes/submission/editor/EditorSubmissionDAO.inc.php @@ -607,7 +607,7 @@ class EditorSubmissionDAO extends DAO { function &getUsersNotAssignedToMonograph($pressId, $monographId, $roleId, $searchType=null, $search=null, $searchMatch=null, $rangeInfo = null) { $users = array(); - $paramArray = array('interest', $monographId, $pressId, $roleId); + $paramArray = array(ASSOC_TYPE_USER, 'interest', $monographId, $pressId, $roleId); $searchSql = ''; $searchTypeMap = array( @@ -670,7 +670,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/seriesEditor/SeriesEditorSubmissionDAO.inc.php b/classes/submission/seriesEditor/SeriesEditorSubmissionDAO.inc.php index f7ce770..2aeeacd 100644 --- a/classes/submission/seriesEditor/SeriesEditorSubmissionDAO.inc.php +++ b/classes/submission/seriesEditor/SeriesEditorSubmissionDAO.inc.php @@ -820,7 +820,7 @@ class SeriesEditorSubmissionDAO extends DAO { $users = array(); $paramArray = array( - 'interest', $monographId, ASSOC_TYPE_MONOGRAPH, + ASSOC_TYPE_USER, 'interest', $monographId, ASSOC_TYPE_MONOGRAPH, 'SIGNOFF_COPYEDITING_INITIAL', $pressId, RoleDAO::getRoleIdFromPath('copyeditor') ); @@ -865,7 +865,7 @@ class SeriesEditorSubmissionDAO 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)