gitlabhq/app/observers/issue_observer.rb
2013-03-26 10:48:06 +02:00

35 lines
722 B
Ruby

class IssueObserver < ActiveRecord::Observer
cattr_accessor :current_user
def after_create(issue)
notification.new_issue(issue, current_user)
end
def after_close(issue, transition)
notification.close_issue(issue, current_user)
create_note(issue)
end
def after_reopen(issue, transition)
create_note(issue)
end
def after_update(issue)
if issue.is_being_reassigned?
notification.reassigned_issue(issue, current_user)
end
end
protected
# Create issue note with service comment like 'Status changed to closed'
def create_note(issue)
Note.create_status_change_note(issue, current_user, issue.state)
end
def notification
NotificationService.new
end
end