Explicitly only parse references by specified filter
This commit is contained in:
parent
d6fb96b927
commit
d313a7681b
2 changed files with 8 additions and 2 deletions
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in a new issue