summaryrefslogtreecommitdiff
path: root/lib/tasks/gitlab/user_management.rake
blob: 29f2360f64aa125f0680129e3dce20516bc95da0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# frozen_string_literal: true

namespace :gitlab do
  namespace :user_management do
    desc "GitLab | User management | Update all users of a group with personal project limit to 0 and can_create_group to false"
    task :disable_project_and_group_creation, [:group_id] => :environment do |t, args|
      group = Group.find(args.group_id)

      result = User.where(id: group.direct_and_indirect_users_with_inactive.select(:id)).update_all(projects_limit: 0, can_create_group: false)
      ids_count = group.direct_and_indirect_users_with_inactive.count
      puts "Done".color(:green) if result == ids_count
      puts "Something went wrong".color(:red) if result != ids_count
    end
  end
end