Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/lib/gitorious
diff options
context:
space:
mode:
authorMarius Mathiesen <marius@gitorious.org>2012-07-10 11:30:25 (GMT)
committer Marius Mathiesen <marius@gitorious.org>2012-10-08 07:41:32 (GMT)
commit4ef1bc7852657446df3b0528a356603855f9f7d5 (patch)
treeb373f5346ed91bf336c6e15268260d9a72203043 /lib/gitorious
parent24a84a4da47789b1249f10c1fc0c4a7ed8c15abd (diff)
Grant review access under LDAP authorization
Diffstat (limited to 'lib/gitorious')
-rw-r--r--lib/gitorious/authorization/database_authorization.rb8
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/gitorious/authorization/database_authorization.rb b/lib/gitorious/authorization/database_authorization.rb
index 9025a8c..9782763 100644
--- a/lib/gitorious/authorization/database_authorization.rb
+++ b/lib/gitorious/authorization/database_authorization.rb
@@ -130,7 +130,13 @@ module Gitorious
def can_resolve_merge_request?(user, merge_request)
return false unless user.is_a?(User)
return true if user === merge_request.user
- return reviewers(merge_request.target_repository).include?(user)
+ if Team.group_implementation == LdapGroup
+ groups = Team.for_user(user)
+ review_groups = merge_request.target_repository.committerships.reviewers.select{|c| c.committer_type == "LdapGroup"}.map(&:committer)
+ return review_groups.any?{|group| groups.include?(group)}
+ else
+ return reviewers(merge_request.target_repository).include?(user)
+ end
end
def can_reopen_merge_request?(user, merge_request)