BigW Consortium Gitlab

Commit 8470d70d by Dmitriy Zaporozhets

notes controller refactored

parent 1e689bfb
...@@ -10,22 +10,8 @@ class NotesController < ApplicationController ...@@ -10,22 +10,8 @@ class NotesController < ApplicationController
respond_to :js respond_to :js
def index def index
@notes = case params[:target_type] notes
when "commit" respond_with(@notes)
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
end end
def create def create
...@@ -43,9 +29,7 @@ class NotesController < ApplicationController ...@@ -43,9 +29,7 @@ class NotesController < ApplicationController
def destroy def destroy
@note = @project.notes.find(params[:id]) @note = @project.notes.find(params[:id])
return access_denied! unless can?(current_user, :admin_note, @note) return access_denied! unless can?(current_user, :admin_note, @note)
@note.destroy @note.destroy
respond_to do |format| respond_to do |format|
...@@ -55,15 +39,26 @@ class NotesController < ApplicationController ...@@ -55,15 +39,26 @@ class NotesController < ApplicationController
protected protected
def respond_with_notes def notes
if params[:last_id] && params[:first_id] @notes = case params[:target_type]
@notes = @notes.where("id >= ?", params[:first_id]) when "commit"
elsif params[:last_id] then project.commit_notes(project.commit((params[:target_id]))).fresh.limit(20)
@notes = @notes.where("id > ?", params[:last_id]) when "snippet"
elsif params[:first_id] then project.snippets.find(params[:target_id]).notes
@notes = @notes.where("id < ?", params[:first_id]) when "wall"
else then project.common_notes.order("created_at DESC").fresh.limit(10)
nil when "issue"
end 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
end end
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment