summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorYorick Peterse <yorickpeterse@gmail.com>2016-09-23 13:18:48 +0000
committerYorick Peterse <yorickpeterse@gmail.com>2016-09-23 13:18:48 +0000
commit3f0592573db1bd7590bd68e248ae872f841591a1 (patch)
tree036174129033c68415bd1586ed3705d8981d26b8 /app
parentd114a5224815049bb680ead66b2a228f0000b669 (diff)
parent3753b847130264d6d862c613ef1f8e94fc47cd3e (diff)
downloadgitlab-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.rb13
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