summaryrefslogtreecommitdiff
path: root/app/controllers/notes_controller.rb
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2012-02-27 20:29:27 +0200
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2012-02-27 20:29:27 +0200
commit8470d70da67355c9c009e4401746b1d5410af2e3 (patch)
tree90b60e8c9fc4185b2618e21988262c7c7dfc9820 /app/controllers/notes_controller.rb
parent1e689bfba39525ead225eaf611948cfbe8ac34cf (diff)
downloadgitlab-ce-8470d70da67355c9c009e4401746b1d5410af2e3.tar.gz
notes controller refactored
Diffstat (limited to 'app/controllers/notes_controller.rb')
-rw-r--r--app/controllers/notes_controller.rb51
1 files changed, 23 insertions, 28 deletions
diff --git a/app/controllers/notes_controller.rb b/app/controllers/notes_controller.rb
index fe38d74dde6..52cfb898248 100644
--- a/app/controllers/notes_controller.rb
+++ b/app/controllers/notes_controller.rb
@@ -10,22 +10,8 @@ class NotesController < ApplicationController
respond_to :js
def index
- @notes = case params[:target_type]
- when "commit"
- then project.commit_notes(project.commit((params[:target_id]))).fresh.limit(20)
- when "snippet"
- then project.snippets.find(params[:target_id]).notes
- when "wall"
- then project.common_notes.order("created_at DESC").fresh.limit(10)
- when "issue"
- then project.issues.find(params[:target_id]).notes.inc_author.order("created_at DESC").limit(20)
- when "merge_request"
- then project.merge_requests.find(params[:target_id]).notes.inc_author.order("created_at DESC").limit(20)
- end
-
- respond_to do |format|
- format.js { respond_with_notes }
- end
+ notes
+ respond_with(@notes)
end
def create
@@ -43,9 +29,7 @@ class NotesController < ApplicationController
def destroy
@note = @project.notes.find(params[:id])
-
return access_denied! unless can?(current_user, :admin_note, @note)
-
@note.destroy
respond_to do |format|
@@ -55,15 +39,26 @@ class NotesController < ApplicationController
protected
- def respond_with_notes
- if params[:last_id] && params[:first_id]
- @notes = @notes.where("id >= ?", params[:first_id])
- elsif params[:last_id]
- @notes = @notes.where("id > ?", params[:last_id])
- elsif params[:first_id]
- @notes = @notes.where("id < ?", params[:first_id])
- else
- nil
- end
+ def notes
+ @notes = case params[:target_type]
+ when "commit"
+ then project.commit_notes(project.commit((params[:target_id]))).fresh.limit(20)
+ when "snippet"
+ then project.snippets.find(params[:target_id]).notes
+ when "wall"
+ then project.common_notes.order("created_at DESC").fresh.limit(10)
+ when "issue"
+ then project.issues.find(params[:target_id]).notes.inc_author.order("created_at DESC").limit(20)
+ when "merge_request"
+ then project.merge_requests.find(params[:target_id]).notes.inc_author.order("created_at DESC").limit(20)
+ end
+
+ @notes = if params[:last_id]
+ @notes.where("id > ?", params[:last_id])
+ elsif params[:first_id]
+ @notes.where("id < ?", params[:first_id])
+ else
+ @notes
+ end
end
end