From 247ae960552acc8cd3be299dbb10ed61d8dafe75 Mon Sep 17 00:00:00 2001 From: Long Nguyen Date: Tue, 26 Apr 2016 23:20:19 +0700 Subject: Allow to assign labels and milestone to target project when moving issue --- app/services/issues/move_service.rb | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'app/services/issues/move_service.rb') diff --git a/app/services/issues/move_service.rb b/app/services/issues/move_service.rb index 82e7090f1ea..8d41ea5df55 100644 --- a/app/services/issues/move_service.rb +++ b/app/services/issues/move_service.rb @@ -41,7 +41,8 @@ module Issues private def create_new_issue - new_params = { id: nil, iid: nil, label_ids: [], milestone: nil, + new_params = { id: nil, iid: nil, label_ids: cloneable_label_ids, + milestone: cloneable_milestone_id, project: @new_project, author: @old_issue.author, description: rewrite_content(@old_issue.description) } @@ -49,6 +50,14 @@ module Issues CreateService.new(@new_project, @current_user, new_params).execute end + def cloneable_label_ids + @new_project.labels.where(title: @old_issue.labels.pluck(:title)).pluck(:id) + end + + def cloneable_milestone_id + @new_project.milestones.find_by(title: @old_issue.milestone.try(:title)) + end + def rewrite_notes @old_issue.notes.find_each do |note| new_note = note.dup -- cgit v1.2.1