From 823f89ed40e6c8ab12adfef286e6092a6eb3ef43 Mon Sep 17 00:00:00 2001 From: Jacob Vosmaer Date: Fri, 14 Mar 2014 11:21:50 +0100 Subject: [PATCH] Pass LDAP adapter to finders in update_permissions --- lib/gitlab/ldap/access.rb | 4 ++-- lib/gitlab/ldap/group.rb | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/lib/gitlab/ldap/access.rb b/lib/gitlab/ldap/access.rb index 518955bd24..5a4add79c8 100644 --- a/lib/gitlab/ldap/access.rb +++ b/lib/gitlab/ldap/access.rb @@ -31,13 +31,13 @@ module Gitlab return true unless Gitlab.config.ldap['group_base'].present? # Get LDAP user entry - ldap_user = Gitlab::LDAP::Person.find_by_dn(user.extern_uid) + ldap_user = Gitlab::LDAP::Person.find_by_dn(user.extern_uid, adapter) # Get all GitLab groups with activated LDAP groups = ::Group.where('ldap_cn IS NOT NULL') # Get LDAP groups based on cn from GitLab groups - ldap_groups = groups.pluck(:ldap_cn).map { |cn| Gitlab::LDAP::Group.find_by_cn(cn) } + ldap_groups = groups.pluck(:ldap_cn).map { |cn| Gitlab::LDAP::Group.find_by_cn(cn, adapter) } ldap_groups = ldap_groups.compact.uniq # Iterate over ldap groups and check user membership diff --git a/lib/gitlab/ldap/group.rb b/lib/gitlab/ldap/group.rb index 61cab8393c..b7af14e225 100644 --- a/lib/gitlab/ldap/group.rb +++ b/lib/gitlab/ldap/group.rb @@ -7,8 +7,9 @@ module Gitlab module LDAP class Group - def self.find_by_cn(cn) - Gitlab::LDAP::Adapter.new.group(cn) + def self.find_by_cn(cn, adapter=nil) + adapter ||= Gitlab::LDAP::Adapter.new + adapter.group(cn) end def initialize(entry)