OSDN Git Service

Fix issue #2790
authorLennart Rosam <lennart.rosam@medien-systempartner.de>
Mon, 28 Jan 2013 12:52:30 +0000 (13:52 +0100)
committerLennart Rosam <lennart.rosam@medien-systempartner.de>
Mon, 28 Jan 2013 12:52:30 +0000 (13:52 +0100)
lib/tasks/gitlab/bulk_add_permission.rake

index 54a5c7a..eb1a755 100644 (file)
@@ -4,21 +4,21 @@ namespace :gitlab do
     task :all_users_to_all_projects => :environment  do |t, args|
       user_ids = User.where(:admin => false).pluck(:id)
       admin_ids = User.where(:admin => true).pluck(:id)
+      projects_ids = Project.pluck(:id)
 
-      Project.find_each do |project|
-        puts "Importing #{user_ids.size} users into #{project.code}"
-        UsersProject.add_users_into_projects(project, user_ids, UsersProject::DEVELOPER)
-        puts "Importing #{admin_ids.size} admins into #{project.code}"
-        UsersProject.add_users_into_projects(project, admin_ids, UsersProject::MASTER)
-      end
+      puts "Importing #{user_ids.size} users into #{projects_ids.size} projects"
+      UsersProject.add_users_into_projects(projects_ids, user_ids, UsersProject::DEVELOPER)
+
+      puts "Importing #{admin_ids.size} admins into #{projects_ids.size} projects"
+      UsersProject.add_users_into_projects(projects_ids, admin_ids, UsersProject::MASTER)
     end
 
     desc "GITLAB | Add a specific user to all projects (as a developer)"
     task :user_to_projects, [:email] => :environment  do |t, args|
       user = User.find_by_email args.email
       project_ids = Project.pluck(:id)
-
-      UsersProject.add_users_into_projects(user, project_ids, UsersProject::DEVELOPER)
+      puts "Importing #{user.email} users into #{project_ids.size} projects"
+      UsersProject.add_users_into_projects(project_ids, Array.wrap(user.id), UsersProject::DEVELOPER)
     end
   end
 end
\ No newline at end of file