diff options
author | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2011-12-07 21:57:55 +0000 |
---|---|---|
committer | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2011-12-07 21:57:55 +0000 |
commit | f252108f30637e8a9d1660870a5f5c84fed429b4 (patch) | |
tree | 61b85d233fcd1a0bb80f5718138072844caa5dd2 | |
parent | 6d5738071203971ab2887cb6e77609f3a5db1ff6 (diff) | |
download | redmine-f252108f30637e8a9d1660870a5f5c84fed429b4.tar.gz redmine-f252108f30637e8a9d1660870a5f5c84fed429b4.zip |
Merged r7834 from trunk (#9566).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/1.2-stable@8119 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r-- | extra/svn/Redmine.pm | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/extra/svn/Redmine.pm b/extra/svn/Redmine.pm index 8fbd229ff..8e0597a1f 100644 --- a/extra/svn/Redmine.pm +++ b/extra/svn/Redmine.pm @@ -149,15 +149,16 @@ sub RedmineDSN { $self->{RedmineDSN} = $arg; my $query = "SELECT hashed_password, salt, auth_source_id, permissions - FROM members, projects, users, roles, member_roles + FROM projects, users, roles WHERE - projects.id=members.project_id - AND member_roles.member_id=members.id - AND users.id=members.user_id - AND roles.id=member_roles.role_id + users.login=? + AND projects.identifier=? AND users.status=1 - AND login=? - AND identifier=? "; + AND ( + roles.id IN (SELECT member_roles.role_id FROM members, member_roles WHERE members.user_id = users.id AND members.project_id = projects.id AND members.id = member_roles.member_id) + OR + (roles.builtin=1 AND cast(projects.is_public as CHAR) IN ('t', '1')) + ) "; $self->{RedmineQuery} = trim($query); } |