diff options
author | Yorick Peterse <yorickpeterse@gmail.com> | 2016-09-23 13:18:48 +0000 |
---|---|---|
committer | Yorick Peterse <yorickpeterse@gmail.com> | 2016-09-23 13:18:48 +0000 |
commit | 3f0592573db1bd7590bd68e248ae872f841591a1 (patch) | |
tree | 036174129033c68415bd1586ed3705d8981d26b8 /app | |
parent | d114a5224815049bb680ead66b2a228f0000b669 (diff) | |
parent | 3753b847130264d6d862c613ef1f8e94fc47cd3e (diff) | |
download | gitlab-ce-3f0592573db1bd7590bd68e248ae872f841591a1.tar.gz |
Merge branch 'fix/speed-up-group-milestone-show' into 'master'
Speed up group milestones show page
See merge request !6457
Diffstat (limited to 'app')
-rw-r--r-- | app/models/global_milestone.rb | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/app/models/global_milestone.rb b/app/models/global_milestone.rb index da7c265a371..bda2b5c5d5d 100644 --- a/app/models/global_milestone.rb +++ b/app/models/global_milestone.rb @@ -8,7 +8,8 @@ class GlobalMilestone milestones = milestones.group_by(&:title) milestones.map do |title, milestones| - new(title, milestones) + milestones_relation = Milestone.where(id: milestones.map(&:id)) + new(title, milestones_relation) end end @@ -31,7 +32,7 @@ class GlobalMilestone end def projects - @projects ||= Project.for_milestones(milestones.map(&:id)) + @projects ||= Project.for_milestones(milestones.select(:id)) end def state @@ -53,19 +54,19 @@ class GlobalMilestone end def issues - @issues ||= Issue.of_milestones(milestones.map(&:id)).includes(:project) + @issues ||= Issue.of_milestones(milestones.select(:id)).includes(:project, :assignee, :labels) end def merge_requests - @merge_requests ||= MergeRequest.of_milestones(milestones.map(&:id)).includes(:target_project) + @merge_requests ||= MergeRequest.of_milestones(milestones.select(:id)).includes(:target_project, :assignee, :labels) end def participants - @participants ||= milestones.map(&:participants).flatten.compact.uniq + @participants ||= milestones.includes(:participants).map(&:participants).flatten.compact.uniq end def labels - @labels ||= GlobalLabel.build_collection(milestones.map(&:labels).flatten) + @labels ||= GlobalLabel.build_collection(milestones.includes(:labels).map(&:labels).flatten) .sort_by!(&:title) end |