app/controllers/events_controller.rb in community_engine-2.3.2 vs app/controllers/events_controller.rb in community_engine-3.0.0

- old
+ new

@@ -1,27 +1,27 @@ class EventsController < BaseController require 'htmlentities' caches_page :ical cache_sweeper :event_sweeper, :only => [:create, :update, :destroy] - + uses_tiny_mce do {:only => [:new, :edit, :create, :update, :clone ], :options => configatron.default_mce_options} end - + uses_tiny_mce do {:only => [:show], :options => configatron.simple_mce_options} end before_filter :admin_required, :except => [:index, :show, :ical] def ical @calendar = RiCal.Calendar @calendar.add_x_property 'X-WR-CALNAME', configatron.community_name @calendar.add_x_property 'X-WR-CALDESC', "#{configatron.community_name} #{:events.l}" - Event.find(:all).each do |ce_event| + Event.all.each do |ce_event| rical_event = RiCal.Event do |event| event.dtstart = ce_event.start_time event.dtend = ce_event.end_time event.summary = ce_event.name + (ce_event.metro_area.blank? ? '' : " (#{ce_event.metro_area})") coder = HTMLEntities.new @@ -35,11 +35,11 @@ end def show @is_admin_user = (current_user && current_user.admin?) @event = Event.find(params[:id]) - @comments = @event.comments.find(:all, :limit => 20, :order => 'created_at DESC', :include => :user) + @comments = @event.comments.includes(:user).order('created_at DESC').limit(20) end def index @is_admin_user = (current_user && current_user.admin?) @events = Event.upcoming.page(params[:page]) @@ -50,61 +50,61 @@ @events = Event.past.page(params[:page]) render :template => 'events/index' end def new - @event = Event.new(params[:event]) + @event = Event.new @metro_areas, @states = setup_metro_area_choices_for(current_user) @metro_area_id, @state_id, @country_id = setup_location_for(current_user) end - + def edit @event = Event.find(params[:id]) @metro_areas, @states = setup_metro_area_choices_for(@event) @metro_area_id, @state_id, @country_id = setup_location_for(@event) end - + def create - @event = Event.new(params[:event]) + @event = Event.new(event_params) @event.user = current_user if params[:metro_area_id] @event.metro_area = MetroArea.find(params[:metro_area_id]) else @event.metro_area = nil end respond_to do |format| if @event.save flash[:notice] = :event_was_successfully_created.l - + format.html { redirect_to event_path(@event) } else - format.html { + format.html { @metro_areas, @states = setup_metro_area_choices_for(@event) if params[:metro_area_id] @metro_area_id = params[:metro_area_id].to_i @state_id = params[:state_id].to_i @country_id = params[:country_id].to_i end render :action => "new" } end - end + end end def update @event = Event.find(params[:id]) if params[:metro_area_id] @event.metro_area = MetroArea.find(params[:metro_area_id]) else @event.metro_area = nil end - + respond_to do |format| - if @event.update_attributes(params[:event]) + if @event.update_attributes(event_params) format.html { redirect_to event_path(@event) } else - format.html { + format.html { @metro_areas, @states = setup_metro_area_choices_for(@event) if params[:metro_area_id] @metro_area_id = params[:metro_area_id].to_i @state_id = params[:state_id].to_i @country_id = params[:country_id].to_i @@ -112,15 +112,15 @@ render :action => "edit" } end end end - + def destroy @event = Event.find(params[:id]) @event.destroy - + respond_to do |format| format.html { redirect_to :back } end end @@ -137,20 +137,20 @@ metro_areas = states = [] if object.metro_area if object.is_a? Event states = object.metro_area.country.states if object.metro_area.state - metro_areas = object.metro_area.state.metro_areas.all(:order=>"name") + metro_areas = object.metro_area.state.metro_areas.order("name") else - metro_areas = object.metro_area.country.metro_areas.all(:order=>"name") - end + metro_areas = object.metro_area.country.metro_areas.order("name") + end elsif object.is_a? User states = object.country.states if object.country if object.state - metro_areas = object.state.metro_areas.all(:order => "name") + metro_areas = object.state.metro_areas..order("name") else - metro_areas = object.country.metro_areas.all(:order => "name") + metro_areas = object.country.metro_areas.order("name") end end end return metro_areas, states end @@ -166,8 +166,12 @@ state_id = object.state_id country_id = object.country_id end end return metro_area_id, state_id, country_id + end + + def event_params + params[:event].permit(:name, :start_time, :end_time, :description, :metro_area, :location, :allow_rsvp) end end