summaryrefslogtreecommitdiff
path: root/app/services/milestones/promote_service.rb
diff options
context:
space:
mode:
authorFelipe Artur <felipefac@gmail.com>2017-10-31 11:56:53 -0200
committerFelipe Artur <felipefac@gmail.com>2017-10-31 11:56:53 -0200
commitf387cf952e7199ca0a8d49c8ab4ba0c694b7d1d8 (patch)
treee6e3256206933a792de500a3525183420523f4a8 /app/services/milestones/promote_service.rb
parente7f4fc95996e5d6589627be3ea3e36fcaf8f8e21 (diff)
downloadgitlab-ce-f387cf952e7199ca0a8d49c8ab4ba0c694b7d1d8.tar.gz
Code improvements
Diffstat (limited to 'app/services/milestones/promote_service.rb')
-rw-r--r--app/services/milestones/promote_service.rb19
1 files changed, 8 insertions, 11 deletions
diff --git a/app/services/milestones/promote_service.rb b/app/services/milestones/promote_service.rb
index 0490122d14e..091c5c667d1 100644
--- a/app/services/milestones/promote_service.rb
+++ b/app/services/milestones/promote_service.rb
@@ -11,7 +11,7 @@ module Milestones
group_milestone = clone_project_milestone(milestone)
- move_issuables_to_group_milestone(group_milestone)
+ move_children_to_group_milestone(group_milestone)
# Just to be safe
unless group_milestone.valid?
@@ -27,11 +27,14 @@ module Milestones
def milestone_ids_for_merge(group_milestone)
# Pluck need to be used here instead of select so the array of ids
# is persistent after old milestones gets deleted.
- @milestone_ids_for_merge ||=
- Milestone.where(project_id: group_project_ids, title: group_milestone.title).pluck(:id)
+ @milestone_ids_for_merge ||= begin
+ search_params = { title: group_milestone.title, project_ids: group_project_ids, state: 'all' }
+ milestones = MilestonesFinder.new(search_params).execute
+ milestones.pluck(:id)
+ end
end
- def move_issuables_to_group_milestone(group_milestone)
+ def move_children_to_group_milestone(group_milestone)
milestone_ids_for_merge(group_milestone).in_groups_of(100) do |milestone_ids|
update_issuables(group_milestone, milestone_ids)
end
@@ -59,13 +62,7 @@ module Milestones
end
def group
- @group ||= begin
- group = parent.group
-
- raise_error('Project does not belong to a group.') unless group
-
- group
- end
+ @group ||= parent.group || raise_error('Project does not belong to a group.')
end
def destroy_old_milestones(group_milestone)