diff options
author | Sean McGivern <sean@mcgivern.me.uk> | 2017-01-17 15:56:43 +0000 |
---|---|---|
committer | Sean McGivern <sean@mcgivern.me.uk> | 2017-01-17 15:56:43 +0000 |
commit | 16b1512e2271ceec4c9375ecb861b12d0dc82aaa (patch) | |
tree | 99356ecaafb99fd5de9e9ed22388a3119190ce04 | |
parent | fbc1a06c75054cc02c7834d2391d7ec194ab0b4d (diff) | |
parent | b11492c2e36803cf19b175e7d850a72f4e5f9b1f (diff) | |
download | gitlab-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.rb | 7 | ||||
-rw-r--r-- | app/views/shared/milestones/_milestone.html.haml | 2 | ||||
-rw-r--r-- | changelogs/unreleased/reduce-queries-milestone-index.yml | 4 |
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 · = 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: |