Sha256: 9080b9a617825e8e4319f5c8e9b4dc782c2f9f36566ffbfbbb7d981258f85177

Contents?: true

Size: 1.21 KB

Versions: 5

Compression:

Stored size: 1.21 KB

Contents

class EventsController < ApplicationController
  caches_page :index, :show

  if Forge::Settings[:events][:display] == 'calendar'
    helper LaterDude::CalendarHelper
  end

  def index
    @page_title = 'Listing Events'

    if Forge::Settings[: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.10 lib/forge/app/controllers/events_controller.rb
forge-cli-0.0.9 lib/forge/app/controllers/events_controller.rb
forge-cli-0.0.8 lib/forge/app/controllers/events_controller.rb
forge-cli-0.0.7 lib/forge/app/controllers/events_controller.rb
forge-cli-0.0.6 lib/forge/app/controllers/events_controller.rb