mirror of
https://github.com/wahyd4/gitlabhq.git
synced 2026-08-10 05:06:46 +10:00
fix projects sorting; fix Postgresql issue with LIMIT and DISTINCT; fix query performance
This commit is contained in:
@@ -5,7 +5,7 @@ class DashboardController < ApplicationController
|
||||
|
||||
def index
|
||||
@groups = Group.where(id: current_user.projects.pluck(:group_id))
|
||||
@projects = current_user.projects_with_events
|
||||
@projects = current_user.projects_sorted_by_activity
|
||||
@projects = @projects.page(params[:page]).per(30)
|
||||
|
||||
@events = Event.in_projects(current_user.project_ids)
|
||||
|
||||
@@ -54,7 +54,7 @@ class GroupsController < ApplicationController
|
||||
end
|
||||
|
||||
def projects
|
||||
@projects ||= current_user.projects_with_events.where(group_id: @group.id)
|
||||
@projects ||= current_user.projects_sorted_by_activity.where(group_id: @group.id)
|
||||
end
|
||||
|
||||
def project_ids
|
||||
|
||||
@@ -67,7 +67,7 @@ module Account
|
||||
events = events.recent.limit(1).first
|
||||
end
|
||||
|
||||
def projects_with_events
|
||||
projects.includes(:events).order("events.created_at DESC")
|
||||
def projects_sorted_by_activity
|
||||
projects.order("(SELECT max(events.created_at) FROM events WHERE events.project_id = projects.id) DESC")
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user