summaryrefslogtreecommitdiff
path: root/lib/banzai/reference_parser/issue_parser.rb
diff options
context:
space:
mode:
authorJames Lopez <james@jameslopez.es>2016-06-16 13:04:00 +0200
committerJames Lopez <james@jameslopez.es>2016-06-16 13:04:00 +0200
commit778d72664f386dfee45dab171f137395739958f6 (patch)
tree7f2c902f4b97ac29aa97e96e877da201130a33b3 /lib/banzai/reference_parser/issue_parser.rb
parent452c076a34cc11cc97f4b1c3113e86ce4367e055 (diff)
parentc369cc8bf42a680b2b0fc9721a9a7926dc5426f6 (diff)
downloadgitlab-ce-feature/project-export.tar.gz
Merge branch 'master' of gitlab.com:gitlab-org/gitlab-ce into feature/project-exportfeature/project-export
# Conflicts: # app/models/ci/pipeline.rb
Diffstat (limited to 'lib/banzai/reference_parser/issue_parser.rb')
-rw-r--r--lib/banzai/reference_parser/issue_parser.rb16
1 files changed, 15 insertions, 1 deletions
diff --git a/lib/banzai/reference_parser/issue_parser.rb b/lib/banzai/reference_parser/issue_parser.rb
index 24076e3d9ec..f306079d833 100644
--- a/lib/banzai/reference_parser/issue_parser.rb
+++ b/lib/banzai/reference_parser/issue_parser.rb
@@ -25,7 +25,21 @@ module Banzai
def issues_for_nodes(nodes)
@issues_for_nodes ||= grouped_objects_for_nodes(
nodes,
- Issue.all.includes(:author, :assignee, :project),
+ Issue.all.includes(
+ :author,
+ :assignee,
+ {
+ # These associations are primarily used for checking permissions.
+ # Eager loading these ensures we don't end up running dozens of
+ # queries in this process.
+ project: [
+ { namespace: :owner },
+ { group: [:owners, :group_members] },
+ :invited_groups,
+ :project_members
+ ]
+ }
+ ),
self.class.data_attribute
)
end