| ... | @@ -22,6 +22,7 @@ class UsersProject < ActiveRecord::Base |
... | @@ -22,6 +22,7 @@ class UsersProject < ActiveRecord::Base |
|
|
|
|
|
|
|
class << self
|
|
class << self
|
|
|
def import_team(source_project, target_project)
|
|
def import_team(source_project, target_project)
|
|
|
|
UsersProject.without_repository_callback do
|
|
|
UsersProject.transaction do
|
|
UsersProject.transaction do
|
|
|
team = source_project.users_projects.all
|
|
team = source_project.users_projects.all
|
|
|
|
|
|
| ... | @@ -37,6 +38,18 @@ class UsersProject < ActiveRecord::Base |
... | @@ -37,6 +38,18 @@ class UsersProject < ActiveRecord::Base |
|
|
end
|
|
end
|
|
|
end
|
|
end
|
|
|
|
|
|
|
|
|
target_project.update_repository
|
|
|
|
true
|
|
|
|
rescue
|
|
|
|
false
|
|
|
|
end
|
|
|
|
|
|
|
|
def without_repository_callback
|
|
|
|
UsersProject.skip_callback(:destroy, :after, :update_repository)
|
|
|
|
yield
|
|
|
|
UsersProject.set_callback(:destroy, :after, :update_repository)
|
|
|
|
end
|
|
|
|
|
|
|
def bulk_delete(project, user_ids)
|
|
def bulk_delete(project, user_ids)
|
|
|
UsersProject.transaction do
|
|
UsersProject.transaction do
|
|
|
UsersProject.where(:user_id => user_ids, :project_id => project.id).each do |users_project|
|
|
UsersProject.where(:user_id => user_ids, :project_id => project.id).each do |users_project|
|
| ... | |
... | |
| ... | | ... | |