From f8ea52c3a0fe29daf76fbd7a0e65399c09c95f5a Mon Sep 17 00:00:00 2001
From: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Date: Tue, 10 Jun 2014 17:56:35 +0300
Subject: [PATCH] Remove thread vars usage from API notes and mr's

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
---
 app/observers/note_observer.rb |  4 ++--
 lib/api/merge_requests.rb      | 19 +++++++---------
 lib/api/notes.rb               | 40 +++++++++++++++-------------------
 3 files changed, 28 insertions(+), 35 deletions(-)

diff --git a/app/observers/note_observer.rb b/app/observers/note_observer.rb
index 337bb1dc5ae..9bb1f0f7b98 100644
--- a/app/observers/note_observer.rb
+++ b/app/observers/note_observer.rb
@@ -5,7 +5,7 @@ class NoteObserver < BaseObserver
     # Skip system notes, like status changes and cross-references.
     # Skip wall notes to prevent spamming of dashboard
     if note.noteable_type.present? && !note.system
-      event_service.leave_note(note, current_user)
+      event_service.leave_note(note, note.author)
     end
 
     unless note.system?
@@ -18,6 +18,6 @@ class NoteObserver < BaseObserver
   end
 
   def after_update(note)
-    note.notice_added_references(note.project, current_user)
+    note.notice_added_references(note.project, note.author)
   end
 end
diff --git a/lib/api/merge_requests.rb b/lib/api/merge_requests.rb
index 017cb1f562e..fc1f1254a9e 100644
--- a/lib/api/merge_requests.rb
+++ b/lib/api/merge_requests.rb
@@ -184,21 +184,18 @@ module API
       #   POST /projects/:id/merge_request/:merge_request_id/comments
       #
       post ":id/merge_request/:merge_request_id/comments" do
-        set_current_user_for_thread do
-          required_attributes! [:note]
+        required_attributes! [:note]
 
-          merge_request = user_project.merge_requests.find(params[:merge_request_id])
-          note = merge_request.notes.new(note: params[:note], project_id: user_project.id)
-          note.author = current_user
+        merge_request = user_project.merge_requests.find(params[:merge_request_id])
+        note = merge_request.notes.new(note: params[:note], project_id: user_project.id)
+        note.author = current_user
 
-          if note.save
-            present note, with: Entities::MRNote
-          else
-            not_found!
-          end
+        if note.save
+          present note, with: Entities::MRNote
+        else
+          not_found!
         end
       end
-
     end
   end
 end
diff --git a/lib/api/notes.rb b/lib/api/notes.rb
index f21907b1ffc..cb2bc764476 100644
--- a/lib/api/notes.rb
+++ b/lib/api/notes.rb
@@ -41,19 +41,17 @@ module API
       # Example Request:
       #   POST /projects/:id/notes
       post ":id/notes" do
-        set_current_user_for_thread do
-          required_attributes! [:body]
+        required_attributes! [:body]
 
-          @note = user_project.notes.new(note: params[:body])
-          @note.author = current_user
+        @note = user_project.notes.new(note: params[:body])
+        @note.author = current_user
 
-          if @note.save
-            present @note, with: Entities::Note
-          else
-            # :note is exposed as :body, but :note is set on error
-            bad_request!(:note) if @note.errors[:note].any?
-            not_found!
-          end
+        if @note.save
+          present @note, with: Entities::Note
+        else
+          # :note is exposed as :body, but :note is set on error
+          bad_request!(:note) if @note.errors[:note].any?
+          not_found!
         end
       end
 
@@ -99,19 +97,17 @@ module API
         #   POST /projects/:id/issues/:noteable_id/notes
         #   POST /projects/:id/snippets/:noteable_id/notes
         post ":id/#{noteables_str}/:#{noteable_id_str}/notes" do
-          set_current_user_for_thread do
-            required_attributes! [:body]
+          required_attributes! [:body]
 
-            @noteable = user_project.send(:"#{noteables_str}").find(params[:"#{noteable_id_str}"])
-            @note = @noteable.notes.new(note: params[:body])
-            @note.author = current_user
-            @note.project = user_project
+          @noteable = user_project.send(:"#{noteables_str}").find(params[:"#{noteable_id_str}"])
+          @note = @noteable.notes.new(note: params[:body])
+          @note.author = current_user
+          @note.project = user_project
 
-            if @note.save
-              present @note, with: Entities::Note
-            else
-              not_found!
-            end
+          if @note.save
+            present @note, with: Entities::Note
+          else
+            not_found!
           end
         end
       end
-- 
GitLab