summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2014-06-17 22:09:01 +0300
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2014-06-17 22:09:01 +0300
commit6149dba5189b9f32b3a9caf0c4c585a973ec99fb (patch)
treef5209d55e56cd4d663971102bf0366301105e72a /app
parenta7f3672b75dff07688c5e4196ad1835bb89ff690 (diff)
downloadgitlab-ce-6149dba5189b9f32b3a9caf0c4c585a973ec99fb.tar.gz
Remove NotesObserver
Diffstat (limited to 'app')
-rw-r--r--app/controllers/projects/notes_controller.rb2
-rw-r--r--app/models/note.rb5
-rw-r--r--app/observers/note_observer.rb20
-rw-r--r--app/services/notes/create_service.rb19
4 files changed, 23 insertions, 23 deletions
diff --git a/app/controllers/projects/notes_controller.rb b/app/controllers/projects/notes_controller.rb
index b5b0446b43f..5df92b29eda 100644
--- a/app/controllers/projects/notes_controller.rb
+++ b/app/controllers/projects/notes_controller.rb
@@ -21,7 +21,7 @@ class Projects::NotesController < Projects::ApplicationController
end
def create
- @note = Notes::CreateService.new(project, current_user, params).execute
+ @note = Notes::CreateService.new(project, current_user, params[:note]).execute
respond_to do |format|
format.json { render_note_json(@note) }
diff --git a/app/models/note.rb b/app/models/note.rb
index 659cd752071..01026cd3994 100644
--- a/app/models/note.rb
+++ b/app/models/note.rb
@@ -57,6 +57,7 @@ class Note < ActiveRecord::Base
serialize :st_diff
before_create :set_diff, if: ->(n) { n.line_code.present? }
+ after_update :set_references
class << self
def create_status_change_note(noteable, project, author, status, source)
@@ -314,4 +315,8 @@ class Note < ActiveRecord::Base
order('id DESC').limit(100).
update_all(updated_at: Time.now)
end
+
+ def set_references
+ notice_added_references(project, author)
+ end
end
diff --git a/app/observers/note_observer.rb b/app/observers/note_observer.rb
deleted file mode 100644
index bb0b0876eca..00000000000
--- a/app/observers/note_observer.rb
+++ /dev/null
@@ -1,20 +0,0 @@
-class NoteObserver < BaseObserver
- def after_create(note)
- notification.new_note(note)
-
- # Skip system notes, like status changes and cross-references.
- unless note.system
- event_service.leave_note(note, note.author)
-
- # Create a cross-reference note if this Note contains GFM that names an
- # issue, merge request, or commit.
- note.references.each do |mentioned|
- Note.create_cross_reference_note(mentioned, note.noteable, note.author, note.project)
- end
- end
- end
-
- def after_update(note)
- note.notice_added_references(note.project, note.author)
- end
-end
diff --git a/app/services/notes/create_service.rb b/app/services/notes/create_service.rb
index ff6dfb61139..f64006a4edc 100644
--- a/app/services/notes/create_service.rb
+++ b/app/services/notes/create_service.rb
@@ -1,10 +1,25 @@
module Notes
class CreateService < BaseService
def execute
- note = project.notes.new(params[:note])
+ note = project.notes.new(params)
note.author = current_user
note.system = false
- note.save
+
+ if note.save
+ notification_service.new_note(note)
+
+ # Skip system notes, like status changes and cross-references.
+ unless note.system
+ event_service.leave_note(note, note.author)
+
+ # Create a cross-reference note if this Note contains GFM that names an
+ # issue, merge request, or commit.
+ note.references.each do |mentioned|
+ Note.create_cross_reference_note(mentioned, note.noteable, note.author, note.project)
+ end
+ end
+ end
+
note
end
end