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:
Diffstat (limited to 'app/services/incident_management/timeline_events/update_service.rb')
-rw-r--r--app/services/incident_management/timeline_events/update_service.rb9
1 files changed, 7 insertions, 2 deletions
diff --git a/app/services/incident_management/timeline_events/update_service.rb b/app/services/incident_management/timeline_events/update_service.rb
index 012e2f0e260..8d4e29c6857 100644
--- a/app/services/incident_management/timeline_events/update_service.rb
+++ b/app/services/incident_management/timeline_events/update_service.rb
@@ -8,18 +8,23 @@ module IncidentManagement
# @option params [string] note
# @option params [datetime] occurred_at
class UpdateService < TimelineEvents::BaseService
+ VALIDATION_CONTEXT = :user_input
+
def initialize(timeline_event, user, params)
@timeline_event = timeline_event
@incident = timeline_event.incident
@user = user
@note = params[:note]
@occurred_at = params[:occurred_at]
+ @validation_context = VALIDATION_CONTEXT
end
def execute
return error_no_permissions unless allowed?
- if timeline_event.update(update_params)
+ timeline_event.assign_attributes(update_params)
+
+ if timeline_event.save(context: validation_context)
add_system_note(timeline_event)
track_usage_event(:incident_management_timeline_event_edited, user.id)
@@ -31,7 +36,7 @@ module IncidentManagement
private
- attr_reader :timeline_event, :incident, :user, :note, :occurred_at
+ attr_reader :timeline_event, :incident, :user, :note, :occurred_at, :validation_context
def update_params
{ updated_by_user: user, note: note, occurred_at: occurred_at }.compact