diff options
author | Marius Mathiesen <marius@gitorious.org> | 2012-07-10 11:30:25 (GMT) |
---|---|---|
committer | Marius Mathiesen <marius@gitorious.org> | 2012-10-08 07:41:32 (GMT) |
commit | 4ef1bc7852657446df3b0528a356603855f9f7d5 (patch) | |
tree | b373f5346ed91bf336c6e15268260d9a72203043 /lib/gitorious | |
parent | 24a84a4da47789b1249f10c1fc0c4a7ed8c15abd (diff) |
Grant review access under LDAP authorization
Diffstat (limited to 'lib/gitorious')
-rw-r--r-- | lib/gitorious/authorization/database_authorization.rb | 8 |
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) |