Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDouglas Barbosa Alexandre <dbalexandre@gmail.com>2016-09-29 06:21:47 +0300
committerDouglas Barbosa Alexandre <dbalexandre@gmail.com>2016-10-19 19:58:25 +0300
commit07709c5576a06179c5365b0d7fe154c5f67ca7e5 (patch)
tree88ab5e1296d4b7775c524b8cef2da8e4b14b463f /lib/gitlab/gfm
parent484f19ed1c5c07cbf8ea26fab8b6759961fcf9ca (diff)
Unfold references for group labels when moving issue to another project
Diffstat (limited to 'lib/gitlab/gfm')
-rw-r--r--lib/gitlab/gfm/reference_rewriter.rb18
1 files changed, 17 insertions, 1 deletions
diff --git a/lib/gitlab/gfm/reference_rewriter.rb b/lib/gitlab/gfm/reference_rewriter.rb
index 78d7a4f27cf..d0b8cd90e0e 100644
--- a/lib/gitlab/gfm/reference_rewriter.rb
+++ b/lib/gitlab/gfm/reference_rewriter.rb
@@ -58,7 +58,7 @@ module Gitlab
referable = find_referable(reference)
return reference unless referable
- cross_reference = referable.to_reference(target_project)
+ cross_reference = build_cross_reference(referable, target_project)
return reference if reference == cross_reference
new_text = before + cross_reference + after
@@ -72,6 +72,22 @@ module Gitlab
extractor.all.first
end
+ def build_cross_reference(referable, target_project)
+ if referable.respond_to?(:project)
+ referable.to_reference(target_project)
+ else
+ to_reference(referable, target_project)
+ end
+ end
+
+ def to_reference(referable, target_project)
+ if @source_project != target_project
+ @source_project.to_reference + referable.to_reference
+ else
+ referable.to_reference
+ end
+ end
+
def substitution_valid?(substituted)
@original_html == markdown(substituted)
end