I can't find the form that should be displayed here, so the simplest
thing I can do at 11pm is to make this a link. That's unsatisfying but
hopefully works.
* HTML5 browsers have some clevers to do client-side validation of
forms
* Django activates this by default for certain field types
* However, in this case, there are three forms on this page. We rely
on two of them being invalid in order to figure out what processing
to do.
* So we need to disable the client-side validation.
* Whether a Flag is disable-if-false or enable-if-true is a very
important detail
* But one that's easy to get wrong
* And it's hard to spot problems without inspecting every single flag
This change adds the Condition into the various admin list views, so
that it's easier to scan them all for problems and look for inconsistencies.
Old code was initialising the dataTable twice - once in the parent
block and once in the child. This doesn't actually work and just
caused errors.
Switch to only initializing it once. Unfortunately this creates
copy-pasta :(
* Old implementation needs to see exactly the same rooms in exactly
the same order every time it loads new data, otherwise it will
create a duplicate entry for the room that differs only in display
order.
* New implementation ignores the display order when checking to see
if the room already exists.
* Audience is visible on review details, but not the list. Perhaps
useful for cases where reviwer wishes to only review for a
particular audience. This change adds audience to the list view.
* Format is not visible anywhere. This changes adds it to list and
detail views for the reviewers.
This change also adds some buttons to control visibility of the new
columns.
* The base model requires a value here
* But we aren't using one; so there's none on the form
* This change supplies a custom enumeration that's specific for this
particular model, which has one value, which is a default value,
which simply says that the field is N/A
* This does mean that when viewing or reviewing the proposal one sees
the Target Audience field, but it will say N/A.
* Testing has shown that this does not affect the other types which
descend from the base Proposal class; they still use the default
enumeration.
- This has the effect of bouncing people to the login page if they're
unauthenticated, rather than returning a 502 because 'home' doesn't
exist.
- If they're authenticated but don't have a speaker profile, send them
to the speaker profile create page rather than just to the
dashboard.
Closes#26
Add clearer notes about the preconditions for using a csv to populate
the schedule.
Update the sample data to one that makes it clear which date format
must be used.