gitlab-org--gitlab-foss/app/contexts/notes/load_context.rb

36 lines
1.2 KiB
Ruby
Raw Normal View History

2012-07-31 01:32:49 -04:00
module Notes
class LoadContext < BaseContext
def execute
target_type = params[:target_type]
target_id = params[:target_id]
after_id = params[:after_id]
2012-09-14 11:01:34 -04:00
before_id = params[:before_id]
2012-07-31 01:32:49 -04:00
@notes = case target_type
when "commit"
project.commit_notes(project.commit(target_id)).fresh.limit(20)
2012-07-31 01:32:49 -04:00
when "issue"
project.issues.find(target_id).notes.inc_author.fresh.limit(20)
2012-07-31 01:32:49 -04:00
when "merge_request"
project.merge_requests.find(target_id).mr_and_commit_notes.inc_author.fresh.limit(20)
when "snippet"
project.snippets.find(target_id).notes.fresh
when "wall"
# this is the only case, where the order is DESC
2012-09-14 11:01:34 -04:00
project.common_notes.order("created_at DESC, id DESC").limit(50)
2012-07-31 01:32:49 -04:00
when "wiki"
project.wiki_notes.limit(20)
2012-07-31 01:32:49 -04:00
end
@notes = if after_id
@notes.where("id > ?", after_id)
2012-09-14 11:01:34 -04:00
elsif before_id
@notes.where("id < ?", before_id)
else
2012-07-31 01:32:49 -04:00
@notes
end
end
end
end