Skip to content
Snippets Groups Projects
Commit 5dd77358 authored by Douwe Maan's avatar Douwe Maan
Browse files

Pass project to RedactorFilter

parent 9d066bc9
No related branches found
No related tags found
1 merge request!1090Separate rendering of Markdown reference links from redacting those the user doesn't have access to and extracting referenced objects
Pipeline #
Loading
Loading
@@ -59,7 +59,7 @@ module GitlabMarkdownHelper
user = current_user if defined?(current_user)
 
html = Gitlab::Markdown.render(text, context)
Gitlab::Markdown.post_process(html, pipeline: context[:pipeline], user: user)
Gitlab::Markdown.post_process(html, pipeline: context[:pipeline], project: @project, user: user)
end
 
# TODO (rspeicher): Remove all usages of this helper and just call `markdown`
Loading
Loading
@@ -78,7 +78,7 @@ module GitlabMarkdownHelper
user = current_user if defined?(current_user)
 
html = Gitlab::Markdown.gfm(text, options)
Gitlab::Markdown.post_process(html, pipeline: options[:pipeline], user: user)
Gitlab::Markdown.post_process(html, pipeline: options[:pipeline], project: @project, user: user)
end
 
def asciidoc(text)
Loading
Loading
Loading
Loading
@@ -47,12 +47,17 @@ module Gitlab
#
# html - String to process
# options - Hash of options to customize output
# :pipeline - Symbol pipeline type
# :user - User object
# :pipeline - Symbol pipeline type
# :project - Project
# :user - User object
#
# Returns an HTML-safe String
def self.post_process(html, options)
doc = post_processor.to_document(html, current_user: options[:user])
context = {
project: options[:project],
current_user: options[:user]
}
doc = post_processor.to_document(html, context)
 
if options[:pipeline] == :atom
doc.to_html(save_with: Nokogiri::XML::Node::SaveOptions::AS_XHTML)
Loading
Loading
Loading
Loading
@@ -15,7 +15,7 @@ module Gitlab
def self.user_can_reference?(user, node, context)
if node.has_attribute?('data-project')
project_id = node.attr('data-project').to_i
return true if project_id == context[:project].id
return true if project_id == context[:project].try(:id)
 
project = Project.find(project_id) rescue nil
Ability.abilities.allowed?(user, :read_project, project)
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment