summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean McGivern <sean@mcgivern.me.uk>2017-01-17 15:56:43 +0000
committerSean McGivern <sean@mcgivern.me.uk>2017-01-17 15:56:43 +0000
commit16b1512e2271ceec4c9375ecb861b12d0dc82aaa (patch)
tree99356ecaafb99fd5de9e9ed22388a3119190ce04
parentfbc1a06c75054cc02c7834d2391d7ec194ab0b4d (diff)
parentb11492c2e36803cf19b175e7d850a72f4e5f9b1f (diff)
downloadgitlab-ce-16b1512e2271ceec4c9375ecb861b12d0dc82aaa.tar.gz
Merge branch 'reduce-queries-milestone-index' into 'master'
Use cached values to compute total issues count in milestone index pages See merge request !8518
-rw-r--r--app/models/concerns/milestoneish.rb7
-rw-r--r--app/views/shared/milestones/_milestone.html.haml2
-rw-r--r--changelogs/unreleased/reduce-queries-milestone-index.yml4
3 files changed, 10 insertions, 3 deletions
diff --git a/app/models/concerns/milestoneish.rb b/app/models/concerns/milestoneish.rb
index fcc8feddb39..e9450dd0c26 100644
--- a/app/models/concerns/milestoneish.rb
+++ b/app/models/concerns/milestoneish.rb
@@ -7,11 +7,14 @@ module Milestoneish
def total_items_count(user)
memoize_per_user(user, :total_items_count) do
- issues_count = count_issues_by_state(user).values.sum
- issues_count + merge_requests.size
+ total_issues_count(user) + merge_requests.size
end
end
+ def total_issues_count(user)
+ count_issues_by_state(user).values.sum
+ end
+
def complete?(user)
total_items_count(user) > 0 && total_items_count(user) == closed_items_count(user)
end
diff --git a/app/views/shared/milestones/_milestone.html.haml b/app/views/shared/milestones/_milestone.html.haml
index 3200aacf542..9e6a76e1ddb 100644
--- a/app/views/shared/milestones/_milestone.html.haml
+++ b/app/views/shared/milestones/_milestone.html.haml
@@ -9,7 +9,7 @@
.pull-right.light #{milestone.percent_complete(current_user)}% complete
.row
.col-sm-6
- = link_to pluralize(milestone.issues_visible_to_user(current_user).size, 'Issue'), issues_path
+ = link_to pluralize(milestone.total_issues_count(current_user), 'Issue'), issues_path
&middot;
= link_to pluralize(milestone.merge_requests.size, 'Merge Request'), merge_requests_path
.col-sm-6= milestone_progress_bar(milestone)
diff --git a/changelogs/unreleased/reduce-queries-milestone-index.yml b/changelogs/unreleased/reduce-queries-milestone-index.yml
new file mode 100644
index 00000000000..a779b58c973
--- /dev/null
+++ b/changelogs/unreleased/reduce-queries-milestone-index.yml
@@ -0,0 +1,4 @@
+---
+title: Use cached values to compute total issues count in milestone index pages
+merge_request: 8518
+author: