99f08b3f72
Add support for cross project references for labels ## Summary Support for cross project references for labels. ## Rationale 1. Cross project label references are currently not supported in GitLab 1. `to_reference` method signature in `Label` model breaks the abstraction introduced in `Referable`. `concerns/referable.rb: def to_reference(_from_project = nil)` Signatures: ``` label.rb: def to_reference(format = :id) commit_range.rb: def to_reference(from_project = nil) commit.rb: def to_reference(from_project = nil) external_issue.rb: def to_reference(_from_project = nil) group.rb: def to_reference(_from_project = nil) issue.rb: def to_reference(from_project = nil) merge_request.rb: def to_reference(from_project = nil) milestone.rb: def to_reference(from_project = nil) project.rb: def to_reference(_from_project = nil) snippet.rb: def to_reference(from_project = nil) user.rb: def to_reference(_from_project = nil) ``` This MR suggests using `def to_reference(from_project = nil, format: :id)` which makes use of keyword arguments and preserves abstract interface. 1. We need support for cross project label references when we want to move issue to another project It may happen that issue description, system notes or comments contain reference to label and this reference will be invalid after moving issue to another project and will not be displayed correctly unless we have support for cross project references. Merge request that needs this feature: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/2831 I think that cross project label references may be useful, (example: `Hey, see our issues for CI in GitLab CE! - gitab-org/gitlab-ce~"CI"`). cc @JobV @DouweM @rspeicher See merge request !2966 |
||
---|---|---|
.. | ||
api | ||
assets | ||
backup | ||
banzai | ||
ci | ||
gitlab | ||
omni_auth | ||
rouge/formatters | ||
support | ||
tasks | ||
award_emoji.rb | ||
banzai.rb | ||
disable_email_interceptor.rb | ||
event_filter.rb | ||
extracts_path.rb | ||
file_size_validator.rb | ||
file_streamer.rb | ||
gitlab.rb | ||
gt_one_coercion.rb | ||
repository_cache.rb | ||
static_model.rb | ||
unfold_form.rb | ||
uploaded_file.rb | ||
version_check.rb |