OSDN Git Service

Project destroy relationship speed fix
authorJeremy Mack <jmacktdkc@gmail.com>
Fri, 16 Dec 2011 14:51:38 +0000 (09:51 -0500)
committerJeremy Mack <jmacktdkc@gmail.com>
Fri, 16 Dec 2011 14:59:43 +0000 (09:59 -0500)
Removes destroy callback for users_projects when a project is destroyed.
This works okay becaues the gitolite config will be updated at at the
end to remove the entry entirely, thereby removing the users anyway.

app/controllers/projects_controller.rb

index 1f1da55..5f4f252 100644 (file)
@@ -93,7 +93,11 @@ class ProjectsController < ApplicationController
   end
 
   def destroy
+    # Disable the UsersProject update_repository call, otherwise it will be
+    # called once for every person removed from the project
+    UsersProject.skip_callback(:destroy, :after, :update_repository)
     project.destroy
+    UsersProject.set_callback(:destroy, :after, :update_repository)
 
     respond_to do |format|
       format.html { redirect_to projects_url }