Keep cross project reference logic in GroupLabel#to_reference
This commit is contained in:
parent
f74d5f2750
commit
1e6d136af3
|
@ -15,8 +15,20 @@ class GroupLabel < Label
|
|||
#
|
||||
# Returns a String
|
||||
#
|
||||
def to_reference(from_project = nil, format: :id)
|
||||
def to_reference(source_project = nil, target_project = nil, format: :id)
|
||||
format_reference = label_format_reference(format)
|
||||
"#{self.class.reference_prefix}#{format_reference}"
|
||||
reference = "#{self.class.reference_prefix}#{format_reference}"
|
||||
|
||||
if cross_project_reference?(source_project, target_project)
|
||||
source_project.to_reference + reference
|
||||
else
|
||||
reference
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def cross_project_reference?(source_project, target_project)
|
||||
source_project && target_project && source_project != target_project
|
||||
end
|
||||
end
|
||||
|
|
|
@ -76,15 +76,7 @@ module Gitlab
|
|||
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
|
||||
referable.to_reference(@source_project, target_project)
|
||||
end
|
||||
end
|
||||
|
||||
|
|
Loading…
Reference in New Issue