diff options
Diffstat (limited to 'app/services/issuable/common_system_notes_service.rb')
-rw-r--r-- | app/services/issuable/common_system_notes_service.rb | 18 |
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 |