add login_required to most views, and sanity checks for these views