From a3cc5fbd2a785b6361dd4121935fcf9d964c163e Mon Sep 17 00:00:00 2001 From: Sasi Olin Date: Wed, 30 Mar 2022 12:05:13 +0200 Subject: [PATCH] Move icalendar_proposals to the application helper One of the controllers didn't have access to the conference helper --- app/helpers/application_helper.rb | 29 +++++++++++++++++++++++++++++ app/helpers/conference_helper.rb | 29 ----------------------------- 2 files changed, 29 insertions(+), 29 deletions(-) diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 0d1a1ed4..b6c23dd4 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -166,4 +166,33 @@ module ApplicationHelper object.picture.large.url end end + + # adds events to icalendar for proposals in a conference + def icalendar_proposals(calendar, proposals, conference) + proposals.each do |proposal| + calendar.event do |e| + e.dtstart = proposal.time + e.dtend = proposal.time + (proposal.event_type.length * 60) + e.duration = "PT#{proposal.event_type.length}M" + e.created = proposal.created_at + e.last_modified = proposal.updated_at + e.summary = proposal.title + e.description = proposal.abstract + e.uid = proposal.guid + e.url = conference_program_proposal_url(conference.short_title, proposal.id) + v = conference.venue + if v + e.geo = v.latitude, v.longitude if v.latitude && v.longitude + location = '' + location += "#{proposal.room.name} - " if proposal.room.name + location += " - #{v.street}, " if v.street + location += "#{v.postalcode} #{v.city}, " if v.postalcode && v.city + location += "#{v.country_name}, " if v.country_name + e.location = location + end + e.categories = conference.title, "Difficulty: #{proposal.difficulty_level.title}", "Track: #{proposal.track.name}" + end + end + calendar + end end diff --git a/app/helpers/conference_helper.rb b/app/helpers/conference_helper.rb index f685ed89..a48bed54 100644 --- a/app/helpers/conference_helper.rb +++ b/app/helpers/conference_helper.rb @@ -21,33 +21,4 @@ module ConferenceHelper '%20Sponsorship' ].join end - - # adds events to icalendar for proposals in a conference - def icalendar_proposals(calendar, proposals, conference) - proposals.each do |proposal| - calendar.event do |e| - e.dtstart = proposal.time - e.dtend = proposal.time + proposal.event_type.length * 60 - e.duration = "PT#{proposal.event_type.length}M" - e.created = proposal.created_at - e.last_modified = proposal.updated_at - e.summary = proposal.title - e.description = proposal.abstract - e.uid = proposal.guid - e.url = conference_program_proposal_url(conference.short_title, proposal.id) - v = conference.venue - if v - e.geo = v.latitude, v.longitude if v.latitude && v.longitude - location = '' - location += "#{proposal.room.name} - " if proposal.room.name - location += " - #{v.street}, " if v.street - location += "#{v.postalcode} #{v.city}, " if v.postalcode && v.city - location += "#{v.country_name}, " if v.country_name - e.location = location - end - e.categories = conference.title, "Difficulty: #{proposal.difficulty_level.title}", "Track: #{proposal.track.name}" - end - end - calendar - end end