summaryrefslogtreecommitdiff
path: root/app/observers
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2012-12-14 21:39:55 +0200
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2012-12-14 21:39:55 +0200
commitf2db188dbe26b93e76eb3536f1a972a4a9e01f66 (patch)
treede924b6769965cbd7fb096ac74ed6f0f6d97daed /app/observers
parent678e5355a3e43aa2a13d109fe5d75de231eef413 (diff)
downloadgitlab-ce-f2db188dbe26b93e76eb3536f1a972a4a9e01f66.tar.gz
Processing with note events. reformated dashboard for more events to handle
Diffstat (limited to 'app/observers')
-rw-r--r--app/observers/activity_observer.rb25
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,