diff options
author | Felipe Artur <felipefac@gmail.com> | 2017-10-31 11:56:53 -0200 |
---|---|---|
committer | Felipe Artur <felipefac@gmail.com> | 2017-10-31 11:56:53 -0200 |
commit | f387cf952e7199ca0a8d49c8ab4ba0c694b7d1d8 (patch) | |
tree | e6e3256206933a792de500a3525183420523f4a8 /app/services/milestones/promote_service.rb | |
parent | e7f4fc95996e5d6589627be3ea3e36fcaf8f8e21 (diff) | |
download | gitlab-ce-f387cf952e7199ca0a8d49c8ab4ba0c694b7d1d8.tar.gz |
Code improvements
Diffstat (limited to 'app/services/milestones/promote_service.rb')
-rw-r--r-- | app/services/milestones/promote_service.rb | 19 |
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) |