summaryrefslogtreecommitdiff
path: root/app/controllers/notes_controller.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/controllers/notes_controller.rb')
-rw-r--r--app/controllers/notes_controller.rb30
1 files changed, 30 insertions, 0 deletions
diff --git a/app/controllers/notes_controller.rb b/app/controllers/notes_controller.rb
index 19c8571705d..327985ef668 100644
--- a/app/controllers/notes_controller.rb
+++ b/app/controllers/notes_controller.rb
@@ -9,6 +9,23 @@ 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 "wall"
+ then project.common_notes.order("created_at DESC").fresh.limit(20)
+ 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
+
def create
@note = @project.notes.new(params[:note])
@note.author = current_user
@@ -34,4 +51,17 @@ class NotesController < ApplicationController
end
end
+ 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
+ end
end