mirror of
https://github.com/openSUSE/osem.git
synced 2026-08-14 04:04:03 +00:00
Both iCalendar routes were unusable: * `/conferences/.../schedule.ics` raised `NoMethodError: undefined method 'icalendar_proposals'` because the `ConferenceHelper#icalendar_proposals` helper isn't auto-included in controllers; the action crashed before rendering. * `/calendar.ics` silently redirected to `/`. The controller goes through `load_and_authorize_resource`, which authorises `:calendar` on `Conference` and is rejected for anonymous visitors because no ability grants it — CanCan's `AccessDenied` rescue redirects to root. The helper is invoked through the controller `helpers` proxy so it works in both contexts, and the calendar action is opted out of resource loading and explicitly marked as not requiring authorization since it serves a public feed across conferences. The helper is also hardened so that proposals missing a room, difficulty level, track, event type or scheduled time produce a valid event instead of crashing the whole feed. |
||
|---|---|---|
| .. | ||
| admin | ||
| api | ||
| users | ||
| application_controller.rb | ||
| booths_controller.rb | ||
| commercials_controller.rb | ||
| conference_registrations_controller.rb | ||
| conferences_controller.rb | ||
| confirmations_controller.rb | ||
| openids_controller.rb | ||
| payments_controller.rb | ||
| physical_tickets_controller.rb | ||
| proposals_controller.rb | ||
| registrations_controller.rb | ||
| schedules_controller.rb | ||
| subscriptions_controller.rb | ||
| surveys_controller.rb | ||
| ticket_purchases_controller.rb | ||
| tickets_controller.rb | ||
| tracks_controller.rb | ||
| users_controller.rb | ||