diff options
author | Dmitriy Zaporozhets <dzaporozhets@sphereconsultinginc.com> | 2012-02-24 09:16:06 +0200 |
---|---|---|
committer | Dmitriy Zaporozhets <dzaporozhets@sphereconsultinginc.com> | 2012-02-24 09:16:06 +0200 |
commit | 215a01f63ccdc085f75a48f6f7ab6f2b15b5852c (patch) | |
tree | 1329ce23a44973793a104924e2076841651b7d84 /app/controllers/notes_controller.rb | |
parent | 81092c01984a481e312de10a28e3f1a6dda182a3 (diff) | |
download | gitlab-ce-215a01f63ccdc085f75a48f6f7ab6f2b15b5852c.tar.gz |
move notes login to one controller
Diffstat (limited to 'app/controllers/notes_controller.rb')
-rw-r--r-- | app/controllers/notes_controller.rb | 30 |
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 |