summaryrefslogtreecommitdiff
path: root/app/controllers/notes_controller.rb
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2012-02-24 22:39:51 +0200
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2012-02-24 22:39:51 +0200
commit21c141afb1c53a9180a99d2cca29ffa613eb7e3a (patch)
tree348f4261b97bde92d52c335e51387aae4f9dd6fc /app/controllers/notes_controller.rb
parentb1a36b552be2a7a6bc57fbed6c52dc6ed82111f8 (diff)
parent292a41cbe295f16f7148913b31eb0fb91f3251c3 (diff)
downloadgitlab-ce-21c141afb1c53a9180a99d2cca29ffa613eb7e3a.tar.gz
Merge branch 'notes_refactoring'
Diffstat (limited to 'app/controllers/notes_controller.rb')
-rw-r--r--app/controllers/notes_controller.rb32
1 files changed, 32 insertions, 0 deletions
diff --git a/app/controllers/notes_controller.rb b/app/controllers/notes_controller.rb
index 19c8571705d..9b731a766f0 100644
--- a/app/controllers/notes_controller.rb
+++ b/app/controllers/notes_controller.rb
@@ -9,6 +9,25 @@ 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(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 +53,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