diff options
author | Douglas Barbosa Alexandre <dbalexandre@gmail.com> | 2016-09-29 06:21:47 +0300 |
---|---|---|
committer | Douglas Barbosa Alexandre <dbalexandre@gmail.com> | 2016-10-19 19:58:25 +0300 |
commit | 07709c5576a06179c5365b0d7fe154c5f67ca7e5 (patch) | |
tree | 88ab5e1296d4b7775c524b8cef2da8e4b14b463f /lib/gitlab/gfm | |
parent | 484f19ed1c5c07cbf8ea26fab8b6759961fcf9ca (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.rb | 18 |
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 |