summaryrefslogtreecommitdiff
path: root/app/controllers/dashboard_controller.rb
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2015-02-18 00:16:42 -0800
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2015-02-18 00:16:42 -0800
commita8a328b1513c0aa442faaf8e8dd6f06f86ac3211 (patch)
tree1c4108e2a9c11058976a3ee07e172853f05df684 /app/controllers/dashboard_controller.rb
parent367d9a2dc683ef549905f35186412b5248376028 (diff)
downloadgitlab-ce-a8a328b1513c0aa442faaf8e8dd6f06f86ac3211.tar.gz
DB performance improvements to GitLab
Diffstat (limited to 'app/controllers/dashboard_controller.rb')
-rw-r--r--app/controllers/dashboard_controller.rb15
1 files changed, 9 insertions, 6 deletions
diff --git a/app/controllers/dashboard_controller.rb b/app/controllers/dashboard_controller.rb
index 9e59264e418..ee9dc343337 100644
--- a/app/controllers/dashboard_controller.rb
+++ b/app/controllers/dashboard_controller.rb
@@ -12,11 +12,7 @@ class DashboardController < ApplicationController
@groups = current_user.authorized_groups.order_name_asc
@has_authorized_projects = @projects.count > 0
@projects_count = @projects.count
- @projects = @projects.limit(@projects_limit)
-
- @events = Event.in_projects(current_user.authorized_projects.pluck(:id))
- @events = @event_filter.apply_filter(@events)
- @events = @events.limit(20).offset(params[:offset] || 0)
+ @projects = @projects.includes(:namespace).limit(@projects_limit)
@last_push = current_user.recent_push
@@ -24,7 +20,14 @@ class DashboardController < ApplicationController
respond_to do |format|
format.html
- format.json { pager_json("events/_events", @events.count) }
+
+ format.json do
+ @events = Event.in_projects(current_user.authorized_projects.pluck(:id))
+ @events = @event_filter.apply_filter(@events).includes(:target, project: :namespace)
+ @events = @events.limit(20).offset(params[:offset] || 0)
+ pager_json("events/_events", @events.count)
+ end
+
format.atom { render layout: false }
end
end