Commit d075df56d3cfb15a5d11550d86229f5b8001fbe7
1 parent
f45345ed
Exists in
master
and in
4 other branches
Improve perfomance of removeing group
Showing
4 changed files
with
27 additions
and
1 deletions
Show diff stats
app/controllers/admin/groups_controller.rb
app/models/group.rb
app/models/users_project.rb
... | ... | @@ -56,6 +56,25 @@ class UsersProject < ActiveRecord::Base |
56 | 56 | false |
57 | 57 | end |
58 | 58 | |
59 | + def truncate_teams(project_ids) | |
60 | + UsersProject.transaction do | |
61 | + users_projects = UsersProject.where(project_id: project_ids) | |
62 | + users_projects.each do |users_project| | |
63 | + users_project.skip_git = true | |
64 | + users_project.destroy | |
65 | + end | |
66 | + Gitlab::Gitolite.new.update_repositories(Project.where(id: project_ids)) | |
67 | + end | |
68 | + | |
69 | + true | |
70 | + rescue | |
71 | + false | |
72 | + end | |
73 | + | |
74 | + def truncate_team project | |
75 | + truncate_teams [project.id] | |
76 | + end | |
77 | + | |
59 | 78 | def import_team(source_project, target_project) |
60 | 79 | source_team = source_project.users_projects.all |
61 | 80 | target_team = target_project.users_projects.all | ... | ... |
app/roles/team.rb