Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGrzegorz Bizon <grzesiek.bizon@gmail.com>2016-02-22 13:00:40 +0300
committerGrzegorz Bizon <grzesiek.bizon@gmail.com>2016-03-17 09:39:15 +0300
commit14c983fb696b7b75065df2b5defd458e563444e3 (patch)
tree9183dde998bb216ddb71c2900b71941849d3ce48 /app/services/issues/move_service.rb
parentc8e7d1ed8e3eafcc8234a0e6f443bf85369c8de1 (diff)
Add implementation that rewrites issue notes when moving
Diffstat (limited to 'app/services/issues/move_service.rb')
-rw-r--r--app/services/issues/move_service.rb23
1 files changed, 18 insertions, 5 deletions
diff --git a/app/services/issues/move_service.rb b/app/services/issues/move_service.rb
index 935bd8a87f7..2cba6147429 100644
--- a/app/services/issues/move_service.rb
+++ b/app/services/issues/move_service.rb
@@ -15,9 +15,19 @@ module Issues
def execute
return unless move?
+ # New issue tasks
+ #
open_new_issue
rewrite_notes
+ add_moved_from_note
+
+ # Old issue tasks
+ #
close_old_issue
+ add_moved_to_note
+
+ # Notifications
+ #
notify_participants
@issue_new
@@ -40,25 +50,28 @@ module Issues
def open_new_issue
@issue_new.project = @project_new
@issue_new.save!
-
- add_note_moved_from
end
def rewrite_notes
+ @issue_old.notes.find_each do |note|
+ note_new = note.dup
+ note_new.project = @project_new
+ note_new.noteable = @issue_new
+ note_new.save!
+ end
end
def close_old_issue
- add_note_moved_to
end
def notify_participants
end
- def add_note_moved_from
+ def add_moved_from_note
SystemNoteService.noteable_moved(:from, @issue_new, @project_new, @issue_old, @current_user)
end
- def add_note_moved_to
+ def add_moved_to_note
SystemNoteService.noteable_moved(:to, @issue_old, @project_old, @issue_new, @current_user)
end
end