Is just ! is_draft sufficient? What about tasks that haven't started or have ended? Should we be using task__is_available too? 

This actually makes me wonder whether we shouldn't maybe just update `is_available` to incorporate a check for `! is_draft` and dispense with checking `is_draft` independently? All of the logic that I added earlier for not allowing access to draft tasks - should that also be using availability dates? Do we want users to be able to look at the details for a task that is not available? I suppose if it is one they have completed we may want them to be able to see the details.