summaryrefslogtreecommitdiff
path: root/lib/tasks
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2014-07-04 17:10:06 +0300
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2014-07-04 17:10:06 +0300
commitc8ac0ab392e33e66a6b984774091b8aae9661790 (patch)
tree629a8d1dc5be91d34b9802147d1219c5ba687171 /lib/tasks
parentd8f4c363d65ab6c2f06f70edc742bee2c1431cdf (diff)
parentec61dfdc8cea4c6a3e8a03790eb1c225f8562d27 (diff)
downloadgitlab-ce-c8ac0ab392e33e66a6b984774091b8aae9661790.tar.gz
Merge pull request #7208 from MrMarvin/ce_rake_cleanup_ldap_users
Adds rake task to clean up deleted LDAP users
Diffstat (limited to 'lib/tasks')
-rw-r--r--lib/tasks/gitlab/cleanup.rake24
1 files changed, 24 insertions, 0 deletions
diff --git a/lib/tasks/gitlab/cleanup.rake b/lib/tasks/gitlab/cleanup.rake
index 4aaab11340f..63dcdc52370 100644
--- a/lib/tasks/gitlab/cleanup.rake
+++ b/lib/tasks/gitlab/cleanup.rake
@@ -84,5 +84,29 @@ namespace :gitlab do
puts "To cleanup this directories run this command with REMOVE=true".yellow
end
end
+
+ desc "GITLAB | Cleanup | Block users that have been removed in LDAP"
+ task block_removed_ldap_users: :environment do
+ warn_user_is_not_gitlab
+ block_flag = ENV['BLOCK']
+
+ User.ldap.each do |ldap_user|
+ print "#{ldap_user.name} (#{ldap_user.extern_uid}) ..."
+ if Gitlab::LDAP::Access.open { |access| access.allowed?(ldap_user) }
+ puts " [OK]".green
+ else
+ if block_flag
+ ldap_user.block!
+ puts " [BLOCKED]".red
+ else
+ puts " [NOT IN LDAP]".yellow
+ end
+ end
+ end
+
+ unless block_flag
+ puts "To block these users run this command with BLOCK=true".yellow
+ end
+ end
end
end