summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJosh Frye <joshfng@gmail.com>2016-05-31 08:51:13 -0400
committerJosh Frye <joshfng@gmail.com>2016-06-02 11:10:57 -0400
commit2d05de7af8de9a11f5bdfec0dd3f294a0148d023 (patch)
tree2e09d46ea3c28ee4233003b5f4d5c73efbec75b3
parent81621e46e74e2099fe5b8a25553728aaee08e129 (diff)
downloadgitlab-ce-2d05de7af8de9a11f5bdfec0dd3f294a0148d023.tar.gz
Cache project build count. Closes #18032
-rw-r--r--.vagrant_enabled0
-rw-r--r--app/models/project.rb6
-rw-r--r--app/views/layouts/nav/_project.html.haml9
3 files changed, 15 insertions, 0 deletions
diff --git a/.vagrant_enabled b/.vagrant_enabled
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/.vagrant_enabled
diff --git a/app/models/project.rb b/app/models/project.rb
index 525a82c7534..1375dab8c34 100644
--- a/app/models/project.rb
+++ b/app/models/project.rb
@@ -1011,4 +1011,10 @@ class Project < ActiveRecord::Base
update_attribute(:pending_delete, true)
end
+
+ def running_or_pending_build_count
+ Rails.cache.fetch(['projects', id, 'running_or_pending_build_count'], expires_in: 60) do
+ builds.running_or_pending.count(:all)
+ end
+ end
end
diff --git a/app/views/layouts/nav/_project.html.haml b/app/views/layouts/nav/_project.html.haml
index 2c9b9006668..86d2ba9ba26 100644
--- a/app/views/layouts/nav/_project.html.haml
+++ b/app/views/layouts/nav/_project.html.haml
@@ -52,6 +52,15 @@
= icon('ship fw')
%span
Pipelines
+ %span.badge.count.ci_counter= number_with_delimiter(@project.ci_commits.running_or_pending.count)
+
+ - if project_nav_tab? :builds
+ = nav_link(controller: %w(builds)) do
+ = link_to project_builds_path(@project), title: 'Builds', class: 'shortcuts-builds' do
+ = icon('cubes fw')
+ %span
+ Builds
+ %span.badge.count.builds_counter= number_with_delimiter(@project.running_or_pending_build_count)
- if project_nav_tab? :container_registry
= nav_link(controller: %w(container_registry)) do