diff options
-rw-r--r-- | CHANGELOG | 2 | ||||
-rw-r--r-- | lib/gitlab/ldap/access.rb | 1 | ||||
-rw-r--r-- | spec/lib/gitlab/ldap/access_spec.rb | 11 |
3 files changed, 12 insertions, 2 deletions
diff --git a/CHANGELOG b/CHANGELOG index 97376c85ece..3511a94ba06 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -60,7 +60,7 @@ v 7.9.0 (unreleased) - Remove annoying notice messages when create/update merge request - Allow smb:// links in Markdown text. - Filter merge request by title or description at Merge Requests page - - Block user if he/she was blocked in Active Directory + - Block and unblock user if he/she was blocked/unblocked in Active Directory v 7.8.4 - Fix issue_tracker_id substitution in custom issue trackers diff --git a/lib/gitlab/ldap/access.rb b/lib/gitlab/ldap/access.rb index 6e30724e1f7..960fb3849b4 100644 --- a/lib/gitlab/ldap/access.rb +++ b/lib/gitlab/ldap/access.rb @@ -40,6 +40,7 @@ module Gitlab user.block unless user.blocked? false else + user.activate if user.blocked? true end else diff --git a/spec/lib/gitlab/ldap/access_spec.rb b/spec/lib/gitlab/ldap/access_spec.rb index 39d46efcbc3..707a0521ab3 100644 --- a/spec/lib/gitlab/ldap/access_spec.rb +++ b/spec/lib/gitlab/ldap/access_spec.rb @@ -28,9 +28,18 @@ describe Gitlab::LDAP::Access do end context 'and has no disabled flag in active diretory' do - before { Gitlab::LDAP::Person.stub(disabled_via_active_directory?: false) } + before do + user.block + + Gitlab::LDAP::Person.stub(disabled_via_active_directory?: false) + end it { is_expected.to be_truthy } + + it "should unblock user in GitLab" do + access.allowed? + user.should_not be_blocked + end end context 'without ActiveDirectory enabled' do |