diff options
author | Robert Speicher <robert@gitlab.com> | 2016-06-23 00:40:17 +0300 |
---|---|---|
committer | Robert Speicher <rspeicher@gmail.com> | 2016-06-23 21:30:38 +0300 |
commit | b5607e47f1ad55c55251fd3d85dd14f0b75453e8 (patch) | |
tree | df6116599c1b2482ad1ae4ccb734a8c4c63a6f37 /lib | |
parent | d37fa9db9e67a8d95dc92cc92b8d1e3af74f670d (diff) |
Merge branch 'fix-external-issue-links' into 'master'
Handle external issues in IssueReferenceFilter
Handling of external issues was broken when I refactored
`IssueReferenceFilter` to use fewer SQL queries.
Fixes #18827
See merge request !4789
Diffstat (limited to 'lib')
-rw-r--r-- | lib/banzai/filter/issue_reference_filter.rb | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/lib/banzai/filter/issue_reference_filter.rb b/lib/banzai/filter/issue_reference_filter.rb index 2614261f9eb..5351272f42d 100644 --- a/lib/banzai/filter/issue_reference_filter.rb +++ b/lib/banzai/filter/issue_reference_filter.rb @@ -31,10 +31,14 @@ module Banzai projects_per_reference.each do |path, project| issue_ids = references_per_project[path] - next unless project.default_issues_tracker? + if project.default_issues_tracker? + issues = project.issues.where(iid: issue_ids.to_a) + else + issues = issue_ids.map { |id| ExternalIssue.new(id, project) } + end - project.issues.where(iid: issue_ids.to_a).each do |issue| - hash[project][issue.iid] = issue + issues.each do |issue| + hash[project][issue.iid.to_i] = issue end end |