Sha256: 68bb227d1e27228fc695530965eec33affd7916439d7c1fbabd8cb3fcd873d5e

Contents?: true

Size: 1.19 KB

Versions: 5

Compression:

Stored size: 1.19 KB

Contents

class EventsController < ApplicationController
  caches_page :index, :show

  if Forge.config.events.display == :calendar
    helper LaterDude::CalendarHelper
  end

  def index
    @page_title = 'Listing Events'

    if Forge.config.events.display == :calendar
      now = Time.now

      @year = (params[:year] || now.year).to_i
      @month = (params[:month] || now.month).to_i

      template = 'events/index_calendar'
    else
      # this roundabout sorting is necessary because ruby 1.8
      # doesn't preserve insertion order - sorting and then using
      # group_by doesn't guarantee the items will remain in that order
      @events = Event\
        .published\
        .order('starts_at DESC')\
        .group_by { |e| e.starts_at.strftime('%Y/%m') }\
        .sort_by(&:first)\
        .reverse

      template = 'events/index_list'
    end

    respond_to do |format|
      format.html { render :template => template }
      format.mobile { render :template => 'mobile/events' }
    end
  end

  def show
    @event = Event.find_by_id!(params[:id])
    @page_title = @event.title

    respond_to do |format|
      format.html
      format.mobile { render :template => 'mobile/event' }
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
forge-cli-0.0.15 lib/forge/app/controllers/events_controller.rb
forge-cli-0.0.14 lib/forge/app/controllers/events_controller.rb
forge-cli-0.0.13 lib/forge/app/controllers/events_controller.rb
forge-cli-0.0.12 lib/forge/app/controllers/events_controller.rb
forge-cli-0.0.11 lib/forge/app/controllers/events_controller.rb