summaryrefslogtreecommitdiff
path: root/app/services/issuable/common_system_notes_service.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/services/issuable/common_system_notes_service.rb')
-rw-r--r--app/services/issuable/common_system_notes_service.rb18
1 files changed, 9 insertions, 9 deletions
diff --git a/app/services/issuable/common_system_notes_service.rb b/app/services/issuable/common_system_notes_service.rb
index 67cf212691f..195616857dc 100644
--- a/app/services/issuable/common_system_notes_service.rb
+++ b/app/services/issuable/common_system_notes_service.rb
@@ -4,7 +4,7 @@ module Issuable
class CommonSystemNotesService < ::BaseService
attr_reader :issuable
- def execute(issuable, old_labels: [], is_update: true)
+ def execute(issuable, old_labels: [], old_milestone: nil, is_update: true)
@issuable = issuable
# We disable touch so that created system notes do not update
@@ -22,17 +22,13 @@ module Issuable
end
create_due_date_note if issuable.previous_changes.include?('due_date')
- create_milestone_note if has_milestone_changes?
+ create_milestone_note(old_milestone) if issuable.previous_changes.include?('milestone_id')
create_labels_note(old_labels) if old_labels && issuable.labels != old_labels
end
end
private
- def has_milestone_changes?
- issuable.previous_changes.include?('milestone_id')
- end
-
def handle_time_tracking_note
if issuable.previous_changes.include?('time_estimate')
create_time_estimate_note
@@ -98,15 +94,19 @@ module Issuable
SystemNoteService.change_time_spent(issuable, issuable.project, issuable.time_spent_user)
end
- def create_milestone_note
+ def create_milestone_note(old_milestone)
if milestone_changes_tracking_enabled?
- # Creates a synthetic note
- ResourceEvents::ChangeMilestoneService.new(issuable, current_user).execute
+ create_milestone_change_event(old_milestone)
else
SystemNoteService.change_milestone(issuable, issuable.project, current_user, issuable.milestone)
end
end
+ def create_milestone_change_event(old_milestone)
+ ResourceEvents::ChangeMilestoneService.new(issuable, current_user, old_milestone: old_milestone)
+ .execute
+ end
+
def milestone_changes_tracking_enabled?
::Feature.enabled?(:track_resource_milestone_change_events, issuable.project)
end