Sha256: 6a96bfd6e11b6e632755fda6995d2ef9ea58d61106eaed96b7cf7cb1802effd2

Contents?: true

Size: 1.52 KB

Versions: 5

Compression:

Stored size: 1.52 KB

Contents

class EventsController < ApplicationController
  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

  def preview
    @event = Event.new(params[:event])
    # call the private methods that cause the timestamps to be set properly
    @event.send(:set_starts_at)
    @event.send(:set_ends_at)
    unless @event.published?
      flash.now[:warning] = "This event is not yet published and will not appear on your live website."
    end
    render :action => :show
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
forge-cli-0.1.10 lib/forge/app/controllers/events_controller.rb
forge-cli-0.1.9 lib/forge/app/controllers/events_controller.rb
forge-cli-0.1.8 lib/forge/app/controllers/events_controller.rb
forge-cli-0.1.7 lib/forge/app/controllers/events_controller.rb
forge-cli-0.1.6 lib/forge/app/controllers/events_controller.rb