Drop activity observer. User EventCreateService instead
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
This commit is contained in:
parent
12d081008d
commit
6cc4ac7b98
4 changed files with 7 additions and 43 deletions
|
@ -47,14 +47,6 @@ class Event < ActiveRecord::Base
|
|||
scope :in_projects, ->(project_ids) { where(project_id: project_ids).recent }
|
||||
|
||||
class << self
|
||||
def determine_action(record)
|
||||
if [Issue, MergeRequest].include? record.class
|
||||
Event::CREATED
|
||||
elsif record.kind_of? Note
|
||||
Event::COMMENTED
|
||||
end
|
||||
end
|
||||
|
||||
def create_ref_event(project, user, ref, action = 'add', prefix = 'refs/heads')
|
||||
commit = project.repository.commit(ref.target)
|
||||
|
||||
|
|
|
@ -1,35 +0,0 @@
|
|||
class ActivityObserver < BaseObserver
|
||||
observe :issue, :note, :milestone
|
||||
|
||||
def after_create(record)
|
||||
if record.kind_of?(Note)
|
||||
# Skip system notes, like status changes and cross-references.
|
||||
return true if record.system?
|
||||
|
||||
# Skip wall notes to prevent spamming of dashboard
|
||||
return true if record.noteable_type.blank?
|
||||
end
|
||||
|
||||
create_event(record, Event.determine_action(record)) if current_user
|
||||
end
|
||||
|
||||
def after_close(record, transition)
|
||||
create_event(record, Event::CLOSED)
|
||||
end
|
||||
|
||||
def after_reopen(record, transition)
|
||||
create_event(record, Event::REOPENED)
|
||||
end
|
||||
|
||||
protected
|
||||
|
||||
def create_event(record, status)
|
||||
Event.create(
|
||||
project: record.project,
|
||||
target_id: record.id,
|
||||
target_type: record.class.name,
|
||||
action: status,
|
||||
author_id: current_user.id
|
||||
)
|
||||
end
|
||||
end
|
|
@ -3,6 +3,10 @@ class BaseObserver < ActiveRecord::Observer
|
|||
NotificationService.new
|
||||
end
|
||||
|
||||
def event_service
|
||||
EventCreateService.new
|
||||
end
|
||||
|
||||
def log_info message
|
||||
Gitlab::AppLogger.info message
|
||||
end
|
||||
|
|
|
@ -1,17 +1,20 @@
|
|||
class IssueObserver < BaseObserver
|
||||
def after_create(issue)
|
||||
notification.new_issue(issue, current_user)
|
||||
event_service.open_issue(issue, current_user)
|
||||
issue.create_cross_references!(issue.project, current_user)
|
||||
execute_hooks(issue)
|
||||
end
|
||||
|
||||
def after_close(issue, transition)
|
||||
notification.close_issue(issue, current_user)
|
||||
event_service.close_issue(issue, current_user)
|
||||
create_note(issue)
|
||||
execute_hooks(issue)
|
||||
end
|
||||
|
||||
def after_reopen(issue, transition)
|
||||
event_service.reopen_issue(issue, current_user)
|
||||
create_note(issue)
|
||||
execute_hooks(issue)
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue