gitlabhq/app/contexts/notes_load.rb
randx 61c85332d2 Merge branch 'add_wiki_comments' of git://github.com/seeingidog/gitlabhq into seeingidog-add_wiki_comments
Conflicts:
	app/controllers/admin/mailer_controller.rb
	app/controllers/notes_controller.rb
2012-07-25 21:36:30 +03:00

33 lines
1.1 KiB
Ruby

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