fix projects sorting; fix Postgresql issue with LIMIT and DISTINCT; fix query performance
This commit is contained in:
parent
b339c747a9
commit
31bf0cd876
3 changed files with 4 additions and 4 deletions
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue