While working on custom domains I discovered that the schedule page is not accessible to the public from a custom domain url. This is easily masked when working from the backend because the current_event gets set that way. However, the constrained domain routes don't really require the event and instead are best accessed through the current_website which holds the logic for determining which event should be accessed from a custom domain.
removes call to current_event and require_event which results in a
redirect to root /events page when using a custom domain
adds regression integration spec for bugfix
skips calls to event when accessing time_slots, program_sessions and
sponsors in controllers by using a has_many :through instead for
ease and consistency
Reason for Change
While working on custom domains I discovered that the schedule page is not accessible to the public from a custom domain url. This is easily masked when working from the backend because the current_event gets set that way. However, the constrained domain routes don't really require the event and instead are best accessed through the current_website which holds the logic for determining which event should be accessed from a custom domain.
You can actually see the problem right now if you try going to https://rubyconf.org/schedule and it redirects you to https://rubyconf.org/events.
Changes