Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions app/controllers/dashboard_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -55,20 +55,19 @@ def top_coach_query
end

def upcoming_events
workshops = Workshop.upcoming.includes(:chapter, :sponsors, :organisers)
workshops = Workshop.eager_load(:chapter, :sponsors, :organisers, :permissions).upcoming.to_a
all_events(workshops).sort_by(&:date_and_time).group_by(&:date)
end

def upcoming_events_for_user
chapter_workshops = Workshop.upcoming
chapter_workshops = Workshop.eager_load(:chapter, :sponsors, :organisers, :permissions)
.where(chapter: current_user.chapters)
.includes(:chapter, :sponsors, :organisers)
.to_a

accepted_workshops = current_user.workshop_invitations.accepted
.joins(:workshop)
.merge(Workshop.upcoming)
.includes(workshop: %i[chapter sponsors organisers])
.eager_load(workshop: %i[chapter sponsors organisers permissions])
.map(&:workshop)

all_events(chapter_workshops + accepted_workshops)
Expand All @@ -77,8 +76,9 @@ def upcoming_events_for_user
end

def all_events(workshops)
meeting = Meeting.includes(:venue, :organisers).next
events = Event.includes(:venue, :sponsors, :organisers).upcoming.take(DEFAULT_UPCOMING_EVENTS)
meeting = Meeting.eager_load(:venue, :organisers, :permissions).next
events = Event.eager_load(:venue, :sponsors, :sponsorships, :permissions,
:organisers).upcoming.take(DEFAULT_UPCOMING_EVENTS)

[*workshops, *events, meeting].uniq.compact
end
Expand Down