Skip to content

Commit 35bd27d

Browse files
committed
Switching to vpim for icalendar exports. Finishing work on /schedule.ics
1 parent 30d237a commit 35bd27d

File tree

2 files changed

+12
-9
lines changed

2 files changed

+12
-9
lines changed

app/controllers/proposals_controller.rb

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -89,17 +89,20 @@ def schedule
8989
@proposals = @event.proposals.scheduled.located
9090
respond_to do |format|
9191
format.ics {
92-
c = Icalendar::Calendar.new
92+
c = Vpim::Icalendar.create2
9393
@proposals.each do |session|
94-
c.event do
95-
summary session.title
96-
description session.excerpt
97-
location session.room.name
98-
start session.start_time.to_datetime
99-
duration session.duration
94+
c.add_event do |event|
95+
event.dtstart session.start_time
96+
event.dtend session.start_time + session.duration.minutes
97+
event.summary session.title
98+
event.created session.created_at if session.created_at
99+
event.lastmod session.updated_at if session.updated_at
100+
event.description session.excerpt
101+
event.url url_for session
102+
event.set_text 'LOCATION', session.room.name
100103
end
101104
end
102-
render :text => c.to_ical
105+
render :text => c.encode.sub(/CALSCALE:Gregorian/, "CALSCALE:Gregorian\nX-WR-CALNAME:#{@event.title}\nMETHOD:PUBLISH")
103106
}
104107
end
105108
end

config/environment.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
config.gem "thoughtbot-paperclip", :source => "http://gems.github.com", :lib => 'paperclip'
3232
config.gem "rubyist-aasm", :source => "http://gems.github.com", :lib => 'aasm'
3333
config.gem "gchartrb", :lib => "google_chart"
34-
config.gem "sdague-icalendar", :lib => 'icalendar', :source => "http://gems.github.com"
34+
config.gem "vpim", :lib => 'vpim/icalendar'
3535
config.gem "RedCloth"
3636

3737
# Settings in config/environments/* take precedence over those specified here.

0 commit comments

Comments
 (0)