--- /dev/null
+class NotesLoad < BaseContext
+ def execute
+ target_type = params[:target_type]
+ target_id = params[:target_id]
+ first_id = params[:first_id]
+ last_id = params[:last_id]
+
+
+ @notes = case target_type
+ when "commit"
+ then project.commit_notes(project.commit(target_id)).fresh.limit(20)
+ when "snippet"
+ then project.snippets.find(target_id).notes
+ when "wall"
+ then project.common_notes.order("created_at DESC").fresh.limit(50)
+ when "issue"
+ then project.issues.find(target_id).notes.inc_author.order("created_at DESC").limit(20)
+ when "merge_request"
+ then project.merge_requests.find(target_id).notes.inc_author.order("created_at DESC").limit(20)
++ when "wiki"
++ then project.wikis.reverse.map {|w| w.notes.fresh }.flatten[0..20]
+ end
+
+ @notes = if last_id
+ @notes.where("id > ?", last_id)
+ elsif first_id
+ @notes.where("id < ?", first_id)
+ else
+ @notes
+ end
+ end
+end