Shift to using explicit relative includes, as per Two Scoops.
Reinstate pagination for table with more than a few entries in them (though that minimum count should really come from ConInfoInt), and so don't use the cut-down template if we're paginating. Currently setting the per-page limit to the whole list, so that it still doesn't paginate, but that could also be from ConInfoInt.
Extend the testing coverage by:
- Making use of the ConInfo classes to create a table listing all the con settings on the main page.
- Adding a Table for this, too.
- Testing the ConDay manager methods, which revealed a couple of bugs:
-- We weren't *using* the ConDay manager.
-- So we weren't hitting the errors in the methods
-- Nor were we filtering out TBA.
- Now changed to use earliest(), latest() and get_latest_by, too.
Separate out the items displayed in a slot view, into items that occupy the slot, and items that start during the slot.
A bucketload of new tests trying to get the coverage of models.py up. These are all testing the grid and slot views.
Get coverage of the items_starting() method on slots.
Lots of tests for checking what happens when we delete an enum value. This showed up a lot of minor bugs in the replacement, so those are fixed in models.py. Also had to add a TBA in CheckResult, since it was missing one, and therefore can't find find_undefined().