diff --git a/app/views/events/index.ics.haml b/app/views/events/index.ics.haml index 9fd89dcbde30bc651f3f1b8521851d096a282a04..91712c4a8cf3c37bf46e7b7b54d86bf3ab11e25b 100644 --- a/app/views/events/index.ics.haml +++ b/app/views/events/index.ics.haml @@ -5,12 +5,15 @@ cal = Icalendar::Calendar.new @events.each do |event| tzid = event.region.tzid - begin - tz = TZInfo::Timezone.get tzid - timezone = tz.ical_timezone event.start_time - cal.add_timezone timezone - rescue TZInfo::InvalidTimezoneIdentifier - # No need to add this tz + if cal.timezones.none? { |t| tzid == t.tzid } + # Only add this zone once + begin + tz = TZInfo::Timezone.get tzid + timezone = tz.ical_timezone event.start_time + cal.add_timezone timezone + rescue TZInfo::InvalidTimezoneIdentifier + # No need to add this tz + end end cal.event do |e|