Skip to content
Snippets Groups Projects
Commit d075df56 authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets
Browse files

Improve perfomance of removeing group

parent f45345ed
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -73,6 +73,8 @@ class Admin::GroupsController < AdminController
end
 
def destroy
@group.truncate_teams
@group.destroy
 
redirect_to admin_groups_path, notice: 'Group was successfully deleted.'
Loading
Loading
Loading
Loading
@@ -29,4 +29,8 @@ class Group < Namespace
def human_name
name
end
def truncate_teams
UsersProject.truncate_teams(project_ids)
end
end
Loading
Loading
@@ -56,6 +56,25 @@ class UsersProject < ActiveRecord::Base
false
end
 
def truncate_teams(project_ids)
UsersProject.transaction do
users_projects = UsersProject.where(project_id: project_ids)
users_projects.each do |users_project|
users_project.skip_git = true
users_project.destroy
end
Gitlab::Gitolite.new.update_repositories(Project.where(id: project_ids))
end
true
rescue
false
end
def truncate_team project
truncate_teams [project.id]
end
def import_team(source_project, target_project)
source_team = source_project.users_projects.all
target_team = target_project.users_projects.all
Loading
Loading
Loading
Loading
@@ -47,7 +47,8 @@ module Team
UsersProject.bulk_delete(self, users_ids)
end
 
# Remove all users from project team
def truncate_team
UsersProject.bulk_delete(self, self.users.map(&:id))
UsersProject.truncate_team(self)
end
end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment