events_controller.rb
1.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
class EventsController < PublicController
needs_profile
before_filter :allow_access_to_page
def events
@events = []
begin
@date = build_date params[:year], params[:month], params[:day]
rescue ArgumentError # invalid date
return render_not_found
end
if !params[:year] && !params[:month] && !params[:day]
@events = profile.events.next_events_from_month(@date).paginate(:per_page => per_page, :page => params[:page])
end
if params[:year] || params[:month]
@events = profile.events.by_month(@date).paginate(:per_page => per_page, :page => params[:page])
end
events_in_range = profile.events.by_range((@date - 1.month).at_beginning_of_month .. (@date + 1.month).at_end_of_month)
@calendar = populate_calendar(@date, events_in_range)
end
def events_by_day
@date = build_date(params[:year], params[:month], params[:day])
@events = profile.events.by_day(@date).paginate(:per_page => per_page, :page => params[:page])
render :partial => 'events'
end
protected
include EventsHelper
def per_page
20
end
end