Class: Acta::Web::EventsController

Inherits:
ApplicationController show all
Defined in:
app/controllers/acta/web/events_controller.rb

Constant Summary collapse

PER_PAGE =
40

Instance Method Summary collapse

Instance Method Details

#indexObject



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'app/controllers/acta/web/events_controller.rb', line 10

def index
  @base_count = Acta::Record.count

  @facet_event_type = Acta::Record.group(:event_type).count.sort_by { |_, n| -n }.to_h
  @facet_stream_type = Acta::Record.group(:stream_type).count.sort_by { |_, n| -n }.to_h
  @facet_actor_id = Acta::Record.group(:actor_id).count.sort_by { |_, n| -n }.to_h

  query = Acta::Web::EventsQuery.new(params)
  @events_scope = query.scope
  @filtered_count = @events_scope.count

  @page = [ params[:page].to_i, 0 ].max
  @total_pages = [ (@filtered_count / PER_PAGE.to_f).ceil, 1 ].max
  @page = [ @page, @total_pages - 1 ].min

  @events = @events_scope.order(id: :desc).offset(@page * PER_PAGE).limit(PER_PAGE)

  @selected_event = Acta::Record.find_by(uuid: params[:selected]) if params[:selected].present?

  @active_filters = query.active_filters
end

#showObject



32
33
34
# File 'app/controllers/acta/web/events_controller.rb', line 32

def show
  @event = Acta::Record.find_by!(uuid: params[:id])
end