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