diff options
Diffstat (limited to 'app/observers')
| -rw-r--r-- | app/observers/activity_observer.rb | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/app/observers/activity_observer.rb b/app/observers/activity_observer.rb index fa39bbfbd34..6fb10423eb7 100644 --- a/app/observers/activity_observer.rb +++ b/app/observers/activity_observer.rb @@ -2,17 +2,26 @@ class ActivityObserver < ActiveRecord::Observer observe :issue, :merge_request, :note, :milestone def after_create(record) - Event.create( - project: record.project, - target_id: record.id, - target_type: record.class.name, - action: Event.determine_action(record), - author_id: record.author_id - ) + event_author_id = record.author_id || record.author_id_of_changes + + # Skip status notes + if record.kind_of?(Note) && record.note.include?("_Status changed to ") + return true + end + + if event_author_id + Event.create( + project: record.project, + target_id: record.id, + target_type: record.class.name, + action: Event.determine_action(record), + author_id: event_author_id + ) + end end def after_save(record) - if record.changed.include?("closed") + if record.changed.include?("closed") && record.author_id_of_changes Event.create( project: record.project, target_id: record.id, |
