Open russss opened 2 years ago
Perhaps it would be best to only allow people to submit their time constraints as "morning" or "afternoon" on each day, rather than having more granular timeslots which could be affected by changes to the venue schedule ranges.
We should validate any manually-added time constraints for proposals based on whether there is a venue capable of hosting them at that time.
(We've seen some proposals this year which somehow got clearly erroneous time constraints several months away. This caused the scheduler to blow up.)
The allowed times for talks on a stage are currently determined in the following way, which is quite confusing to put it mildly:
The
Proposal.get_allowed_time_periods_with_default
method returns the time periods in which the scheduler can schedule the proposal. If the user hasn't specified acceptable time slots, we extract the times from the strings in thePROPOSAL_TIMESLOTS
datastructure.For youth workshops and performances, which have different time constraints, the
REMAP_SLOT_PERIODS
datastructure is used to modify these timeslots.This is backwards, I think. Acceptable scheduling time ranges should be in the database, configurable in the admin by venue and by proposal type (a stage can host talks and performances in different time ranges). These time ranges could then be used to automatically generate the timeslots (which we can probably do automatically by splitting the time ranges into approximately 3-hour chunks). If we do this we need to consider what happens if we change the time range after timeslots have been assigned.
This should probably be done after #1149.