Explicitly only parse references by specified filter

This commit is contained in:
Douwe Maan 2015-10-14 09:46:06 +02:00
parent d6fb96b927
commit d313a7681b
2 changed files with 8 additions and 2 deletions

View file

@ -33,6 +33,8 @@ module Gitlab
reference_type = node.attr('data-reference-filter')
reference_filter = reference_type.constantize
return if context[:reference_filter] && reference_filter != context[:reference_filter]
return unless reference_filter.user_can_reference?(current_user, node, context)
references = reference_filter.referenced_by(node)

View file

@ -40,16 +40,20 @@ module Gitlab
#
# Returns the results Array for the requested filter type
def pipeline_result(filter_type)
klass = filter_type.to_s.camelize + 'ReferenceFilter'
klass = "#{filter_type.to_s.camelize}ReferenceFilter"
filter = Gitlab::Markdown.const_get(klass)
context = {
project: project,
current_user: current_user,
# We don't actually care about the links generated
only_path: true,
ignore_blockquotes: true,
load_lazy_references: false
# ReferenceGathererFilter
load_lazy_references: false,
reference_filter: filter
}
pipeline = HTML::Pipeline.new([filter, Gitlab::Markdown::ReferenceGathererFilter], context)