diff options
author | Sean McGivern <sean@gitlab.com> | 2017-08-03 12:50:06 +0100 |
---|---|---|
committer | Sean McGivern <sean@gitlab.com> | 2017-08-07 11:55:00 +0100 |
commit | 149528f472f3d2f3865ae01c764b81c6a97f9380 (patch) | |
tree | 8c9e38e7071b0a0002d3741259a7318e7a0427e5 /app/models/milestone.rb | |
parent | 03b816f3e845c9b25d3588336fc1616238465deb (diff) | |
download | gitlab-ce-149528f472f3d2f3865ae01c764b81c6a97f9380.tar.gz |
Support references to group milestones
Group milestones can only be referred to by name, not IID. They also do not
support cross-project references.
Diffstat (limited to 'app/models/milestone.rb')
-rw-r--r-- | app/models/milestone.rb | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/app/models/milestone.rb b/app/models/milestone.rb index 48d00764965..01e0d0155a3 100644 --- a/app/models/milestone.rb +++ b/app/models/milestone.rb @@ -149,7 +149,9 @@ class Milestone < ActiveRecord::Base end ## - # Returns the String necessary to reference this Milestone in Markdown + # Returns the String necessary to reference this Milestone in Markdown. Group + # milestones only support name references, and do not support cross-project + # references. # # format - Symbol format to use (default: :iid, optional: :name) # @@ -161,12 +163,16 @@ class Milestone < ActiveRecord::Base # Milestone.first.to_reference(same_namespace_project) # => "gitlab-ce%1" # def to_reference(from_project = nil, format: :iid, full: false) - return if is_group_milestone? + return if is_group_milestone? && format != :name format_reference = milestone_format_reference(format) reference = "#{self.class.reference_prefix}#{format_reference}" - "#{project.to_reference(from_project, full: full)}#{reference}" + if project + "#{project.to_reference(from_project, full: full)}#{reference}" + else + reference + end end def reference_link_text(from_project = nil) |